Risposte:
Innanzitutto, esegui il backup del crontab:
crontab -l > my_cron_backup.txt
Quindi puoi svuotarlo:
crontab -r
Ripristinare:
crontab my_cron_backup.txt
crontab -l
crontab -r
è quello che stavo cercando. Grazie !
Hai accesso root? Basta mettere in pausa cron
sudo /etc/init.d/crond stop
Quindi riavvialo quando sei pronto
sudo /etc/init.d/crond start
sudo service cron stop
/etc/init.d/cron stop
.
service cron stop
.
Se stai usando vi come editor, entra :%s/^/#/
nella modalità di comando. In tutte le righe (%), sostituisce (s ///) l'inizio della riga (^) con un hash (#).
EDITOR=vi; crontab -e
, e puoi usare il trucco sopra.
:%s/^#//
Non ero contento delle opzioni di cui sopra dato che non erano una fodera.
Disabilitare crontab -l | perl -nle 's/^([^#])/# $1/;print' | crontab
Abilitare crontab -l | perl -nle 's/^#\s*([0-9*])/$1/;print' | crontab
esempio di utilizzo (modificato per mostrare che non disabilita i commenti)
$ 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
Questo è stato testato su RHEL e AIX e dovrebbe funzionare senza necessità di installazione
crontab: usage error: file name must be specified for replace
. Sembra che tu debba specificare un file (?) Quando lo usi crontab
senza alcun parametro (che è replace
di default).
Ho avuto l'idea dalla risposta fornita da @segaps
Disabilitare:
crontab -l | awk '{print "# "$1}' | crontab
Abilitare:
crontab -l | cut -c 3- | crontab
L'unico problema con la soluzione fornita da segaps è che decommenterà i lavori, che sono già commentati dall'utente.
/tmp
è corrotto (e se il tuo crontab -e lo utilizzamktemp
in/tmp
.