Comment redémarrer un processus toutes les 4 heures à l'aide de crontab?
Quelqu'un pourrait-il me dire comment redémarrer un processus toutes les 4 heures à l'aide de crontab? J'ai un serveur Starbound en cours d'exécution (qui est un jeu comme Terarria qui a récemment sorti) et il prend beaucoup de ressources, donc je voudrais tuer le processus de redémarrage de sauvegarder toutes les 6 heures.
Ce que je pense que j'aurais besoin de faire dans la crontab est:
kill -9 | grep starbound_server
cd /home/vapeur/starbound/linux64 && écran -S starbound -d-m ./launch_starbound_server.sh
Mais je ne suis pas sûr à ce sujet et ne comprennent pas les temps de truc.
J'espère que quelqu'un pourra m'aider 🙂
Double Possible: stackoverflow.com/questions/11562804/...
OriginalL'auteur user3079979 | 2013-12-08
Vous devez vous connecter pour publier un commentaire.
crontab fonctionne comme ceci.
Donc, si vous voulez exécuter votre script toutes les minutes à 4 heures d'intervalle, vous devez ajouter cette ligne au fichier crontab.
Pour exécuter votre script une fois toutes les 4 heures (sur le zéro minute), vous devez ajouter cette ligne au fichier crontab.
Modifier ( Réponse à un commentaire ):
Oui, je crois que c'est correct, mais que moi j'ai l'habitude de faire fichier distinct pour cela, par exemple, script.sh pour garder les choses propres.
Par exemple avec le contenu:
Vous pouvez l'enregistrer à l'emplacement que vous aimez et utilisez:
pour le rendre exécutable, puis l'ajouter à crontab.
Hey génial, vous êtes mon sauveur! Mais l'écran -X -S | grep starbound tuer ne semble pas fonctionner, j'ai cherché sur google mais ne trouve rien comment chercher/trouver un écran, puis le tuer. Je recherche parce que parfois, il ne veut pas se faire tuer et je dois mettre pid.de l'écran.
Avez-vous essayé "killall -9 starbound" ?
Méfiez-vous que la première * exécuter le script toutes les minutes au cours de la 4ème heure. Je hould vous suggère FORTEMENT de la valeur 0 pour l'avoir exécuté qu'une fois toutes les 4 heures. I. E. 0 */4 * * *
Downvoted. Veuillez mettre à jour la réponse-à-dire
0 */4 * * *
.OriginalL'auteur m4gix1
À condition que vous ayez installé le serveur starbound script de démarrage dans
/etc/init.d
http://www.bubblews.com/news/1749423-starbound-server-start-script
Et que vous l'avez nommé
starbound.sh
Ensuite, ajouter une ligne dans votre
/etc/crontab
comme ceci:0 /4 * * * root /etc/init.d/starbound.sh restart
(NOTE: c'est dans le cas où le serveur starbound est commencé par
root
: vérifiez que le serveur lui-même perd ses privilèges au démarrage si il n'en a pas besoin)0 /4 * * * root /etc/init.d/starbound.sh restart
à exécuter une fois toutes les heures. Pas à chaque minute de la 4ème heure. Je pense que c'est clairement ce que l'OP veut.OriginalL'auteur mcleod_ideafix