Еженедельное задание cron для сохранения списка установленных пакетов

Мне трудно понять, как настроить мою первую работу cron. Я просто хочу запускать эту команду раз в неделю:

dpkg -l > ~/Dropbox/installed_packages 

Мой файл /etc/crontab содержит строку

 7 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 

Поэтому мне нужно разместить мою команду где-нибудь в каталоге /etc/cron.weekly – но в каком файле? /etc/cron.weekly настоящее время содержит следующие файлы:

 apt-xapian-index man-db 0anacron cvs 

3 Solutions collect form web for “Еженедельное задание cron для сохранения списка установленных пакетов”

Создайте файл со следующим содержимым (например, list_packages.sh ):

 #!/bin/bash dpkg -l > ~/Dropbox/installed_packages 

Поместите этот файл в /etc/cron.weekly/ и он будет работать один раз в неделю.

Сохраните это как скрипт, скажем, installed_packages_list.sh :

 #!/bin/bash dpkg -l > ~/Dropbox/installed_packages 

Сделайте его исполняемым.

 chmod u+x installed_packages_list.sh 

Затем запустите

 crontab -e 

Это откроет файл в текстовом редакторе. Введите это и сохраните

 @weekly /full/path/to/script 

Сценарий будет выполняться один раз в неделю с привилегиями пользователя, который запланировал работу cron.

Во-первых, для этого вам не нужно выполнять задание как суперпользователя.

Самый простой способ решить это – отредактировать crontab вашего обычного пользователя через

 crontab -e 

В зависимости от вас переменная среды EDITOR, пользователи crontab открывается вашим любимым текстовым редактором.

Там вы можете добавить что-то вроде

 # mh dom mon dow command 5 12 * * 1 bash $HOME/pkg.backup.sh 

Затем вы должны создать файл pkg.backup.sh с вашей командой dpkg.

Кстати, если вы хотите, чтобы вы могли легко восстановить текущее состояние пакета на компьютере (например, выбор пакета), эта команда больше ориентирована на цель:

 dpkg --get-selections > foo 

Чтобы восстановить его, вам просто нужно ввести

 dpkg --set-seclections < foo 

На самом деле, dpkg -l полезен в дополнение к этому, если вы хотите также зарегистрировать точный номер версии пакета.

  • Cron с 12-часовым выпуском?
  • Cron, crontab -e читает неверный файл
  • Добавить задание CRON из командной строки?
  • переменные в crontab
  • crontab исключает только определенную дату
  • Максимальное количество записей в Crontab
  • cron найдет определенные команды на PATH, но не другие
  • Что делает * / 13 в crontab?
  • время cronjob 13 * * * *
  • Как выполнить команду в cronjob для отображения вывода в терминале
  • Дата линии Crontab
  • Выполняется ли задание, запланированное в crontab, даже когда я выхожу из системы?
  • Linux и Unix - лучшая ОС в мире.