Qu'est ce que des tâches cron ?
Il s'agit d'un fichier sur le vps qui va être analysé au démarrage afin d'exécuter des tâches aux heures données ou démarrer un programme en même temps que le vps
Pour éditer ce fichier, il faut exécuter la commande suivante crontab -e
Toutes les lignes qui ont # sont des commentaires, elles sont donc ignorées
Nous allons apprendre les bases, voici à quoi ressemble une ligne d'exécution :
mm hh jj MMM JJJ user /usr/bin/apt-get update > /dev/null
Les options
- ***** : permet d'ignorer un réglage.
- */6 définit la tâche toutes les 6h
- mm : minutes (0 - 59)
- hh : heures (0 - 23)
- jj : jours du mois (1 - 31)
- MMM : mois (01 - 12)
- JJJ : jours de la semaine (1 - 7)
- user : (facultatif) indiquer sous quel utilisateur la tâche s'exécute
- /usr/bin/apt-get update : commande à exécuter
- /dev/null : ne crée pas de log, vous pouvez créer des logs à chaque tâche pour vérifier le bon fonctionnement ou suivre des erreurs exemple : /home/crontab.log
- **2>&1 **: Cela permet d'envoyer les erreurs dans le fichier configuré juste avant (exemple 3.)
Exemple
Redémarrer mon serveur minecraft avec un script conçu pour, tous les jours à 2h30 du matin :
30 2 * * * /home/serveur/script.sh restart > /dev/null
Redémarrer mon serveur minecraft automatiquement en même temps que le vps :
@reboot /home/serveur/script.sh start > /dev/null
Réaliser des backups toutes les 4 heures 00 minute, cela crée un fichier log en même temps en cas d'erreurs ou de messages personnalisés dans votre script
00 */4 * * * /home/serveur/script.sh backup > /home/serveur/backup.log 2>&1
Ce système peut fonctionner avec beaucoup d'autres choses, lancement de script, démarrage de programme, etc...
Je vous invite donc à lire la documentation associée pour des choses plus avancées.
Pour toutes éventuelles questions, n'hésitez pas à passer sur Discord.
L'équipe InovaPerf.