J'ai besoin de configurer un travail cron qui exécute un exécutable compilé à l'aide de gcc une fois par heure.
Je me suis connecté en tant que root et j'ai tapé crontab -e
Ensuite, j'ai entré ce qui suit et j'ai enregistré le fichier.
0 * * * * /path_to_executable
Cependant, le travail cron ne fonctionne pas.
Je vois que lorsque je tape, /...path_to_executable
j'obtiens une erreur de segmentation. Je ne peux exécuter l'exécutable qu'à partir du dossier dans lequel il se trouve. Existe-t-il un moyen de résoudre ce problème?
Réponses:
devrait fonctionner sauf s'il y a autre chose qui doit être configuré pour que le programme s'exécute.
la source
La solution pour résoudre ce problème est de savoir pourquoi vous obtenez l'erreur de segmentation et de résoudre ce problème.
la source
Vous pouvez également utiliser
@hourly
instant de0 * * * *
la source
@hourly
est un synonyme exact de0 * * * *
, il n'y a pas de différence.Vouliez-vous dire que l'exécutable ne s'exécute pas s'il est appelé à partir d'un autre répertoire? Il s'agit plutôt d'un bug sur l'exécutable. Une raison potentielle pourrait être que l'exécutable nécessite des libraires partagées du dossier installé. Vous pouvez vérifier la variable d'environnement
LD_LIBRARY_PATH
la source
Si vous utilisez Ubuntu, vous pouvez mettre un script shell dans l' un de ces dossiers:
/etc/cron.daily
,/etc/cron.hourly
,/etc/cron.monthly
ou/etc/cron.weekly
.Pour plus de détails, consultez cet article: /ubuntu/2368/how-do-i-set-up-a-cron-job
la source
Comme je ne pouvais pas exécuter l'
C
exécutable de cette façon, j'ai écrit un simpleshell script
qui fait ce qui suitDans la liste des tâches cron, j'appelle le script shell.
la source
utilisation
pour voir la sortie de votre commande, les erreurs peuvent également être redirigées avec
aussi vous pouvez utiliser
crontab -l
pour vérifier si vos modifications ont été enregistrées.
la source