Еженедельное задание 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 

  • Как я могу узнать, когда была запущена работа cron или она разбилась?
  • Есть ли недостатки / последствия для добавления запланированных задач непосредственно в / etc / crontab вместо использования команды crontab?
  • crontab не запускает один скрипт
  • Crontab: Почему он не запускает скрипт?
  • Неверный cron для полуночи?
  • сломанное задание cron после его редактирования
  • Выполнение всех Cronjobs в среде ~ / .zshenv
  • Выполняется ли задание, запланированное в crontab, даже когда я выхожу из системы?
  • 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 полезен в дополнение к этому, если вы хотите также зарегистрировать точный номер версии пакета.

    Linux и Unix - лучшая ОС в мире.