Crontab: Ubuntu под управлением сценарий (новичок)

Я плохо знаком с crontab и хотел бы запустить следующий скрипт от /etc/crontab:

0 15    * * *   root    bash-c 'for i in /home/dell/Downloads/*.{pdf,docx,png,jpg,PDF,DOCX}; do shred -zvu "$i" -n20; done'

Я попробовал и без bash-c опция, все же сценарий не работает.

Моя цель:

  1. Получите этот сценарий, работающий от Crontab
  2. Получите этот сценарий, работающий на запуске

Справка ценится.

4
задан 27 February 2019 в 00:48

1 ответ

Вы пропускаете пространство после команды bash и аргумент -c.

Это должно работать:

0 15    * * *  root bash -c 'for i in /home/dell/Downloads/*.{pdf,docx,png,jpg,PDF,DOCX}; do shred -zvu "$i" -n20; done'

Некоторые дополнительные подсказки:

  • Не выполняйте a crontab как пользователь root если Вы не должны.
  • Вы записали, что вставляете его /etc/crontab файл. Не редактируйте crontab файлы непосредственно, скорее используйте crontab -e команда или sudo crontab -e для команд, для которых нужно root права. Отметьте, который Вы не помещаете user поле в "другом" crontab файлы.
  • Если у Вас есть больше чем одна команда, можно использовать bash -c как Вы делаете, но я скорее поместил команды в сценарий и выполняю это от crontab.

  • Для запущения скрипта на запуске можно использовать @reboot вместо 0 15 * * *.

13
ответ дан 23 November 2019 в 11:39

Другие вопросы по тегам:

Похожие вопросы: