Ich ssh zu einem Server und möchte einige tägliche Jobs (insbesondere zum Erneuern von Kerberos-Tickets, auch wenn ich mich abmelde und meine Programme weiterhin auf dem Bildschirm oder in tmux ausgeführt werden sollen) hinzufügen. Also renne ich crontab -e
und füge folgendes hinzu:
00 00 * * * kinit -R
00 12 * * * kinit -R
Wenn ich es speichere, werde ich vom Herausgeber gefragt:
File Name to Write: /tmp/crontab.HMpG7V
Können die Dateien /tmp
nicht vom Betriebssystem gelöscht werden? Besonders nachdem ich mich vom Server abgemeldet habe?
Wo soll ich meine Crontab-Datei speichern? Kann ich die Crontab-Datei unter $ HOME oder einem besseren Speicherplatz speichern?
Antworten:
crontab -e
Öffnet eine Datei in / tmp anstelle der eigentlichen Crontab, damit diese Ihre neue Crontab auf Fehler überprüfen und verhindern kann, dass Sie Ihre tatsächliche Crontab mit diesen Fehlern überschreiben. Wenn keine Fehler vorliegen, wird Ihre tatsächliche Crontab aktualisiert. Wenn Siecrontab -e
nur direkt auf Ihre eigentliche Crontab schreiben, riskieren Sie, dass alle Ihre Cronjobs aufgrund eines Syntaxfehlers in Ihrer neuen Crontab nicht ausgeführt werden.sudoedit
,visudo
,vipw
Usw. arbeitet nach dem gleichen Prinzip.Keine Sorge, Ihre eigentliche Crontab befindet sich an einem nichtflüchtigen Ort auf der Festplatte.
quelle
/var/spool
(normalerweise) irgendwo in , aber Sie sollten Ihre eigentliche Crontab niemals berühren und Sie sollten es auch niemals brauchen - verwenden Siecrontab -e
stattdessen. Sie haben wahrscheinlich ohnehin nicht die richtige Zugriffsebene, um die rohe Crontab-Datei zu bearbeiten./tmp
Hier wird die temporäre Crontab-Datei geschrieben. Nach dem Speichern und Beendencrontab
werden die Änderungen in ein anderes, geeigneteres Verzeichnis auf Ihrem System übertragen (normalerweise unter/var/spool/cron
, wenn ich mich recht erinnere). Machen Sie sich also keine Sorgen, das Betriebssystem löscht möglicherweise Ihr / tmp, aber es wird Ihre Crontabs niemals entfernen.quelle
Crontab-Dateien befinden sich in / var / spool / cron / crontabs / unter dem Benutzernamen oder der Benutzer-ID. Da Situationen auftreten können, in denen die hier befindliche Crontab nicht mehr mit Ihrem Anmeldekonto verbunden ist, wird empfohlen, eine Kopie in Ihrem Home-Verzeichnis zu speichern, z. B. /home/userid/.crontab, damit Sie sie bei Bedarf problemlos wiederherstellen können zu. Auf diese Weise können Sie es auch unter die Revisionskontrolle stellen, wenn Sie möchten.
Wenn Ihr Home-Verzeichnis auf ein anderes System verschoben wird, wird es häufig nicht von der Crontab aus dem Spool-Verzeichnis begleitet, es sei denn, Ihr Systemadministrator berücksichtigt dies. / Var / spool wird auch nicht immer gesichert oder wiederhergestellt, wenn ein System erneuert werden muss.
Daher wird empfohlen, eine Kopie Ihrer Crontab in Ihrem Home-Verzeichnis aufzubewahren.
Verwenden Sie Ihren bevorzugten Editor (pico, vi, emacs usw.), um ~ / .crontab zu bearbeiten, und verwenden Sie dann crontab, um ihn auf / var / spool / crontabs anzuwenden. So was:
Wenn Sie Aliase mögen, können Sie stattdessen einen ausführen.
quelle