Je veux juste tout mettre en pause. N'exécutez rien répertorié sur crontab -l
.
crontab -e
puis commentez chaque ligne avec laquelle vous ne souhaitez pas exécuter #
.
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
Avez-vous un accès root? Pause juste cron
Sudo /etc/init.d/crond stop
Ensuite, redémarrez-le lorsque vous êtes prêt
Sudo /etc/init.d/crond start
Si vous utilisez vi comme éditeur, entrez simplement :%s/^/#/
en mode commande. Dans toutes les lignes (%), il remplace (s ///) le début de la ligne (^) par un hachage (#).
N'était pas satisfait des options ci-dessus car il ne s'agissait pas d'une seule doublure.
Pour désactivercrontab -l | Perl -nle 's/^([^#])/# $1/;print' | crontab
Pour activercrontab -l | Perl -nle 's/^#\s*([0-9*])/$1/;print' | crontab
exemple d'utilisation (modifié 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
Testé sur RHEL et AIX, et devrait fonctionner hors de la boîte sans rien avoir besoin d'être installé
Dans mes tests limités, définir le shell sur/bin/false fonctionne. Vous verrez toujours /opt/job.sh
en cours d'exécution dans vos journaux, mais ce sera un noop:
Shell=/bin/false
*/1 * * * * root /some/job.sh
Dans toutes les saveurs d'Unix/Linux que je connais:
mv /var/spool/cron /var/spool/cron_is_disabled
Cette:
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 apportée par les segaps, c'est qu'elle décommentera les jobs déjà commentés par l'utilisateur.
Pour ce faire, en utilisant nano comme éditeur:
Sudo env EDITOR=nano crontab -e
puis commentez chaque ligne avec laquelle vous ne souhaitez pas exécuter #