Еженедельное задание 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, запланированная для запуска в определенный день недели, также работает в последний день месяца
  • Не удается выполнить приложение в crontab
  • Является ли перезапуск cron или crond необходимым после каждого добавления или изменения нового расписания?
  • Синтаксис Crontab: использование «*» для значения минут
  • Как запустить скрипт вне домашнего каталога через cron
  • Как показать диалог Java, когда cron запускает программу Java?
  • Как я могу сказать cron запускать команду каждый день (нечетный / четный)
  • Почасовой cronjob не работает
  • Неверный cron для полуночи?
  • Как fcron знает, была ли выполнена работа?
  • Выполнение cron 9 до 5 и в полночь
  • Interesting Posts

    Команда Grep в сценарии оболочки

    Установить путь по умолчанию для входа в конфигурацию ssh

    Как установить Empathy на CentOS 6.0?

    Почему этот простой сценарий bash вызывает ошибку if / then / else?

    Переразбить раздел LVM, на котором есть / home mount на нем

    Использование таймаута в скрипте с одной командой, но несколько хостов

    Автоматическая приостановка rsync, если цель заполнена

    GNOME отказывается от обновлений, не связанных с безопасностью – это снижает безопасность существующих сторонних приложений?

    Как запустить скрипт с помощью shortkey в elementaryOS?

    Сделайте ctrl-backspace отличным от ctrl-h

    Если сравнение строк оператора

    Почему моя установка Arch устанавливается на случайных этапах во время загрузки?

    Замена параметров и сообщения об ошибках: подавление номеров строк и т. Д.

    Попытка установить mopidy-spotify плагин для mopidy, используя pip

    /usr/include/stdio.h:140: ошибка синтаксического анализа перед `__gnuc_va_list '

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