2016-07-08 2 views
0

Je souhaite exécuter une seule commande à partir d'une crontab. Plutôt que de créer un fichier bash pour une seule commande, il est possible d'exécuter un crontab en quelque sorte comme ceci:Crontab: exécution d'une seule commande en ligne

# Everyday at 3 am, restart the server. 
0 3 * * * 'sudo shutdown -r now' 

Au lieu de:

0 3 * * * /usr/local/bin/restart.bash 

Peut-être quelque chose comme ça fait?

Répondre

0

Oui, vous pouvez taper la commande en ligne, mais elle doit être tapée de la même manière que si vous étiez sur la ligne de commande. Vous ne tapez pas les guillemets simples ' sur la ligne de commande, donc vous ne devriez pas les taper dans la crontab non plus. Enfin, une commande qui nécessite un accès root doit être exécutée dans la racine crontab. (Par exemple modifier à l'aide sudo crontab -e au lieu de plaine crontab -e ou connectez-vous en tant que root en utilisant su - avant de taper crontab -e)

Donc, dans votre exemple, vous devez taper ceci dans le crontab:

# Everyday at 3 am, restart the server. 
0 3 * * * shutdown -r now 

(sudo n'a pas d'effet , guillemets simples supprimés)