Seit dem Upgrade wurde die Crontab meines Benutzers gelöscht. Dies ist nicht das erste Mal in diesem Jahr und es ist ein Schmerz, der es jedes Mal wieder herstellt.
Ich möchte in der Lage sein, die Crontab für meinen Benutzer zu sichern, aber dafür muss ich wissen, wo sie gespeichert ist.
cron
Pakets, aber ich stimme zu - es ist nicht etwas, was passieren sollte.Antworten:
Eigentlich ist es nicht empfehlenswert, diese Dateien von Hand zu bearbeiten. Pro
crontab
Manpage:Dateien unter
/var/spool
werden als temporär / funktionsfähig betrachtet. Aus diesem Grund werden sie wahrscheinlich während eines Upgrades gelöscht. Ein genauerer Blick auf diecron
Upgradeskripte des Pakets kann jedoch Aufschluss darüber geben.Wie auch immer, es ist immer ratsam, Ihre Cron-Einträge zu sichern oder sie in einer Datei in Ihrem Home-Verzeichnis zu speichern.
Ich
crontab -e
gehe davon aus , dass Sie Crontab-Dateien im laufenden Betrieb erstellen. Wenn ja, können Sie auf diese Weise eine "Kopie" Ihrer crontab-Datei erhaltencrontab -l
. Kopieren Sie das in eine Datei, um ein "Backup" zu erhalten:Dann können Sie diese my-crontab-Datei bearbeiten, um Einträge hinzuzufügen oder zu ändern, und sie dann "installieren", indem Sie sie crontab geben:
Dies führt die gleiche Syntaxprüfung durch wie
crontab -e
.quelle
crontab -l
ist einfacher als das Durchgehen,/var/spool/cron/crontabs/$USER
hauptsächlich wegen der bizarren Berechtigungen für diese Datei.iptables-save
von Cron. Schön .../var/spool/cron/crontabs
ist praktisch, wenn Sie Crontabs von mehreren Benutzern kuratieren oder untersuchen möchten.sudo grep -rHin "$string" /etc/cron*
(wo Zeichenfolge könnte ein Befehl wie seindocker
,lftp
,iptables
, etc. Es ist eine gute Idee , auch Benutzer crontabs überprüfen Das ist , was zu diesem Q & A führte mich..sudo grep -rHin "$string" /etc/cron* /var/spool/cron*
Es befindet sich im
/var/spool/cron/crontabs
Ordner unter dem Benutzernamen.quelle
Ich habe endlich herausgefunden, warum meine Crontabs und Postfix-Installation nach dem Booten immer wieder kaputt gingen. Es ist ein wirklich dummer Grund, aber ...
Ich hatte
/var/spool
alstmpfs
RAM-Laufwerk gemountet .Klingt idiotisch und ist es auch, aber ich war einem der alten SSD-Tweaks gefolgt, um die Lebensdauer meiner SSD zu verlängern. So, ich blind montiert Dabei
/tmp
,/var/tmp
und/var/spool
so ,tmpfs
ohne denken von den Auswirkungen. Ich dachte,/var/spool
es wäre so/proc/
oder so/run/
und es wäre nur für die Dauer der Sitzung nützlich. Ich habe mich eindeutig geirrt.quelle
/tmp
als tmpfs zu mounten , aber nicht/var/tmp
oder/var/spool
./tmp
wird für temporären Speicher verwendet, der beim Neustart verloren gehen kann./var/tmp
wird für den temporären Speicher verwendet, der nach einem Neustart erhalten bleibt. Und wie Sie festgestellt haben, müssen/var/spool
Daten verarbeitet werden, die auch nach einem Neustart erhalten bleiben.So listen Sie alle Cron-Jobs aller Benutzer in Ihrem System auf:
Eine Alternative zu Ihrem Problem wäre, sie in den Ordner cron.d zu legen und den entsprechenden Benutzer pro cron wie im Beispiel anzugeben:
quelle
crontab -u
sie auf Ihrem aktuellen System ausgeführt wird.while read user
Schleife verwandeln , um den Fall zu behandeln, in dem der Benutzername Leerzeichen enthält, aber anscheinend ist das kein Problem. Sehr begrenzte Anzahl von Benutzernamen.