Réponses:
Tout d’abord, sauvegardez la crontab:
crontab -l > my_cron_backup.txt
Ensuite, vous pouvez le vider:
crontab -r
Restaurer:
crontab my_cron_backup.txt
crontab -l
crontab -rest ce que je cherchais. Merci !
Avez-vous un accès root? Juste une pause cron
sudo /etc/init.d/crond stop
Puis redémarrez quand vous êtes prêt
sudo /etc/init.d/crond start
sudo service cron stop
/etc/init.d/cron stop.
service cron stop.
Si vous utilisez vi comme éditeur, entrez simplement :%s/^/#/en mode commande. Dans toutes les lignes (%), il substitue (s ///) le début de la ligne (^) par un dièse (#).
EDITOR=vi; crontab -e, et vous pouvez utiliser l'astuce ci-dessus.
:%s/^#//
N'était pas heureux avec les options ci-dessus car ils n'étaient pas un paquebots.
Pour désactiver crontab -l | perl -nle 's/^([^#])/# $1/;print' | crontab
Autoriser crontab -l | perl -nle 's/^#\s*([0-9*])/$1/;print' | crontab
exemple d'utilisation (édité pour montrer qu'il ne désactive pas les commentaires)
$ 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
Ceci a été testé sur RHEL et AIX et devrait fonctionner sans qu'il soit nécessaire d'installer quoi que ce soit
crontab: usage error: file name must be specified for replace. Il semble que vous deviez spécifier un fichier (?) Lorsque vous utilisez crontabsans aucun paramètre (ce qui est replacepar défaut).
J'ai eu l'idée de la réponse fournie par @segaps
Pour désactiver:
crontab -l | awk '{print "# "$1}' | crontab
Autoriser:
crontab -l | cut -c 3- | crontab
Le seul problème avec la solution fournie par segaps, est que cela décommentera les travaux déjà commentés par l'utilisateur.
/tmpest corrompu (et si votre crontab utilisemktempdans/tmp.