Antworten:
Sichern Sie zuerst die Crontab:
crontab -l > my_cron_backup.txt
Dann können Sie es leeren:
crontab -r
Etwas wiederherstellen:
crontab my_cron_backup.txt
crontab -l
crontab -rist, wonach ich gesucht habe. Vielen Dank !
Haben Sie root-Zugang? Mach einfach eine Pause, Cron
sudo /etc/init.d/crond stop
Starten Sie es dann neu, wenn Sie bereit sind
sudo /etc/init.d/crond start
sudo service cron stop
/etc/init.d/cron stop.
service cron stop.
Wenn Sie vi als Editor verwenden, rufen Sie einfach den :%s/^/#/Befehlsmodus auf. In allen Zeilen (%) wird der Zeilenanfang (^) durch einen Hash (#) ersetzt (s ///).
EDITOR=vi; crontab -eund dann den obigen Trick anwenden.
:%s/^#//
War mit den oben genannten Optionen nicht zufrieden, da es sich nicht um Einzeiler handelte.
Etwas deaktivieren crontab -l | perl -nle 's/^([^#])/# $1/;print' | crontab
Ermöglichen crontab -l | perl -nle 's/^#\s*([0-9*])/$1/;print' | crontab
Verwendungsbeispiel (bearbeitet, um anzuzeigen, dass Kommentare nicht deaktiviert werden)
$ crontab -l
# Comment
0 0 * * 0 /opt/something.sh
$ crontab -l|perl -nle 's/^([^#])/# $1/;print'|crontab
$ crontab -l
# Comment
# 0 0 * * 0 /opt/something.sh
$ crontab -l|perl -nle 's/^#\s*([0-9*])/$1/;print'|crontab
$ crontab -l
# Comment
0 0 * * 0 /opt/something.sh
Wurde unter RHEL und AIX getestet und sollte sofort funktionieren, ohne dass etwas installiert werden muss
crontab: usage error: file name must be specified for replace. Es scheint, dass Sie eine Datei (?) Angeben müssen, wenn Sie crontabohne Parameter arbeiten (dies ist die replaceStandardeinstellung).
Die Idee kam mir aus der Antwort von @segaps
Etwas deaktivieren:
crontab -l | awk '{print "# "$1}' | crontab
Ermöglichen:
crontab -l | cut -c 3- | crontab
Das einzige Problem bei der von segaps bereitgestellten Lösung ist, dass die vom Benutzer bereits kommentierten Jobs auskommentiert werden.
/tmpes beschädigt ist (und wenn Ihre Crontab -e verwendetmktempin/tmp.