никакой файл журнала от cronjob

Я должен записать сценарий для периодического обновления системы, я создал этот сценарий тестирования, который делает это каждые 2 минуты, чтобы проверить, работает ли это, однако если я запускаю скрипт и через какое-то время проверяю/var/log каталог там нет моего .log файла. Я проверил crontab-l, и он показывает недавно добавленный cronjob. Какова может быть проблема и что я делаю неправильно?

#!/bin/bash

log_dir=$(date +'%Y%m%d')
crontab -l > mycron
#echo new cron into cron file
echo "*/2 * * * * (sudo apt-get -y update && sudo apt-get -y upgrade) >> /var/log/update-$log_dir.log 2>&1" >> mycron
#install new cron file
crontab mycron
rm mycron
0
задан 29 January 2020 в 13:38

1 ответ

Вы не должны звонить sudo в crontab. Для выполнения команды как другого пользователя, использующего крон, отредактируйте crontab для того пользователя. В crontab корня Вы могли просто работать apt-get команды без sudo.

Для редактирования crontab корня используйте:

sudo crontab -e

(Я не сделал бы сценарий для добавления строки к crontab, поскольку это - одноразовое задание, которое не стоит автоматизировать его.)

0
ответ дан 30 January 2020 в 23:28

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

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