Ich bin noch relativ neu bei Linux und habe gerade gelernt, wie man Aufgaben mit cron plant. Ich habe dieses kleine Shell-Skript, das ich bisher manuell verwendet habe:
sudo apt-get check && sudo apt-get update && sudo apt-get upgrade && sudo apt-get autoremove && sudo apt-get autoclean
Jetzt möchte ich es mit Cron planen, damit ich es nicht jeden Tag manuell ausführen muss, aber anscheinend geht das nicht. Ich nehme an, es liegt daran, dass ich mein Sudo-Passwort eingeben muss, um fortzufahren? Gibt es eine Möglichkeit, dies zum Laufen zu bringen, ohne die Upgrades usw. automatisch zu akzeptieren?
Antwort1
Es ist eine bessere Idee, stattdessen „unattended-upgrades“ zu verwenden.
Sein Zweck besteht darin, den Computer automatisch mit den neuesten Sicherheitsupdates (und anderen Updates) auf dem neuesten Stand zu halten.[1]
Installieren:
sudo apt install unattended-upgrades
Lesen Sie mehr darüber, wie es funktioniert:Hier.
Um Ihre Frage zu beantworten: Sie können /etc/crontab
die Datei bearbeiten und Ihre Befehle als Benutzer ausführen, ohne dass Sie Ihre eigene „Crontab“-Datei root
verwenden müssen .sudo
nano /etc/crontab
und fügen Sie eine Zeile wie die folgende hinzu:
45 21 * * * root apt-get update > /home/ravexina/out.log
das jede Nacht um „21:45“ apt-get update
mit dem Benutzer ausgeführt wird und die Ausgabe in protokolliert .root
/home/ravexina/out.log