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 -r
ist, 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 -e
und 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 crontab
ohne Parameter arbeiten (dies ist die replace
Standardeinstellung).
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.
/tmp
es beschädigt ist (und wenn Ihre Crontab -e verwendetmktemp
in/tmp
.