Я новичок в Linux и только что узнал о планировании задач с помощью cron. У меня есть небольшой скрипт оболочки, который я использовал вручную до сих пор:
sudo apt-get check && sudo apt-get update && sudo apt-get upgrade && sudo apt-get autoremove && sudo apt-get autoclean
Теперь я хочу запланировать это с помощью cron, чтобы не делать это вручную каждый день, но, похоже, я не могу этого сделать. Я полагаю, это потому, что для продолжения требуется мой пароль sudo? Есть ли способ сделать это без автоматического принятия обновлений и т. д.?
решение1
Вместо этого лучше использовать «автоматические обновления».
Его цель — автоматически обновлять систему безопасности (и другие обновления) компьютера.[1]
Установить:
sudo apt install unattended-upgrades
Узнайте больше о том, как это работает:здесь.
Чтобы ответить на ваш вопрос, вы можете редактировать /etc/crontab
файл и запускать команды с помощью root
пользователя без необходимости использования sudo
собственного файла «crontab».
nano /etc/crontab
и добавьте строку типа:
45 21 * * * root apt-get update > /home/ravexina/out.log
который запускается apt-get update
с использованием root
пользователя в «21:45» каждую ночь и записывает вывод в /home/ravexina/out.log
.