web-dev-qa-db-fra.com

Ajouter un travail cron au démarrage à partir d'un script

J'aimerais ajouter une commande à exécuter au démarrage à partir d'un script Shell.

Par exemple, j'exécute le script une fois et il ajoute le travail cron. Ainsi, à partir de ce moment, un programme spécifique est lancé à chaque démarrage du système d'exploitation.

Plus spécifiquement, j’aurais besoin de xbindkeys pour s’exécuter au démarrage, et ce, à l’aide d’un script unique.

Jusqu'ici, je pense que cette ligne ferait le travail:

@reboot xbindkeys

(xbindkeys est dans PATH)

Comment puis-je ajouter ce travail à partir d'un script?

4
Iulius Curt

Il y a plusieurs façons d'y parvenir. Voir cette réponse pour plus de détails. Ajouter @reboot xbindkeys à votre crontab fonctionnerait, mais apparemment, il ne fonctionne que lorsque la machine est redémarrée et non lorsqu'elle est froide.

Sudo echo '@reboot xbindkeys' >> /etc/crontab

Cela va ajouter la ligne à vos tâches cron, mais généralement j'appelle le script en l'ajoutant dans une ligne à /etc/init.d/rc.local, bien que j'aime la suggestion de Riccardo de l'ajouter à ~/.gnomerc.

4
Jonathan Cantrell

Utilisez crontab -e pour éditer la crontab de l'utilisateur (liste des scripts de démarrage ajoutés par les utilisateurs).
Ajouter la ligne suivante à la fin:

@reboot <command>

Exemples:

  • @reboot my_script.sh
  • @reboot python my_script.py arg1 arg2

Enfin, utilisez contab -l pour vous assurer que votre script a été ajouté à la liste.

1
Jithin Pavithran