Activer / désactiver les tâches dans Crontab by Bash / Shell

Existe-t-il un moyen d’activer et de désactiver les tâches Crontab à l’aide de Bash / Shell?

Ainsi, lorsque l’utilisateur démarre le serveur 1, il active la ligne Server 1 Crontab, etc. Et lorsque l’utilisateur arrête le serveur 1, la ligne Server 1 Crontab est désactivée (#). Est-ce possible et comment?

Merci d’avance

*/1 * * * * Server 1 check */1 * * * * Server 2 check */1 * * * * Server 3 check 

 SERVERNUM=$1 

Autoriser:

 crontab -l | sed "/^#.*Server $SERVERNUM check/s/^#//" | crontab - 

Pour désactiver:

 crontab -l | sed "/^[^#].*Server $SERVERNUM check/s/^/#/" | crontab - 

Transcription:

 barmar@dev$ crontab -l */1 * * * * Server 1 check */1 * * * * Server 2 check */1 * * * * Server 3 check barmar@dev$ crontab -l | sed '/^[^#].*Server 1 check/s/^/#/' | crontab - barmar@dev$ crontab -l #*/1 * * * * Server 1 check */1 * * * * Server 2 check */1 * * * * Server 3 check barmar@dev$ crontab -l | sed '/^#.*Server 1 check/s/^#//' | crontab - barmar@dev$ crontab -l */1 * * * * Server 1 check */1 * * * * Server 2 check */1 * * * * Server 3 check 

Je vous suggère d’append vos tâches cron à /etc/cron.d pour chaque script de serveur. Ensuite, laissez le script cron rechercher un fichier marqueur si le travail cron doit être exécuté.

ceci est une variante, j’utilise un cronjob qui se charge tous les soirs. Je viens d’éditer un fichier et il est rechargé à 22 heures tous les soirs. Vous pourriez rendre le rechargement plus fréquent. Je garde un répertoire de fichiers pour chacun des nœuds. L’astuce consiste à s’assurer que personne ne commente la ligne de rechargement.

 0 22 * * * crontab /home/ME/cron_files/NODE 

En tant que correctif rapide et sale, vous pouvez activer ou désactiver l’autorisation d’exécution du script cron approprié.

Par exemple, si vous souhaitez empêcher la localisation de mettre à jour automatiquement sa firebase database (qui peut consumr des E / S):

 cd /etc/cron.daily sudo chmod ax locate 

Cela peut être contraire au framework cron, mais il est rapidement appliqué et fonctionne en cas de besoins immédiats.