Je suis un novice ... Je le dis d'emblée. J'ai un simple serveur Ubuntu 20.04 LTS utilisé uniquement comme serveur minecraft.
La crontab me pose quelques problèmes
*/10 * * * * screen -S minecraft -p 0 -X stuff "save-all^M"
@reboot /home/minecraft/startserver.sh
@daily find /home/minecraft/backup/* -mtime +6 -type f -delete
@daily zip -9 -r --exclude=*backup* --exclude=*web* --exclude=*crash-reports* --exclude=*lost+found* /home/minecraft/backup/$(date +"%Y.%m.%d %I.%M %P").zip /home/minecraft
La première ligne fonctionne, mais @daily et @reboot ne fonctionnent pas du tout. TOUTES les commandes fonctionnent à partir du terminal sans erreur.
Je n'ai pas d'expérience avec Linux et j'essaie de comprendre ce qui se passe. Je suis conscient que certaines personnes pourraient penser que cela serait mieux géré avec systemd, mais je suis trop nouveau pour comprendre cela et je ne veux pas installer un script que je ne peux pas réparer.
Pourquoi la crontab ne contient-elle pas ces lignes ? Je ne pense pas qu'il s'agisse de permissions. Merci de m'aider à déboguer ce problème
Merci pour votre temps
EDIT : OK, après avoir creusé, le problème avec le script de startserver était dans le script lui-même et non dans la crontab. J'ai découvert que j'ai besoin d'avoir le fichier -d
pour la commande screen dans la crontab.
La commande zip fonctionne, mais je n'arrive pas à trouver le code d'échappement à utiliser pour ajouter des espaces dans la date. backup/$(date +"\%Y.\%m.\%d \%I.\%M \%P").zip
Utilisation d'une barre oblique \
ou en utilisant " "
ne fonctionnent pas. Si quelqu'un sait comment sortir d'un espace avec la création de fichiers zip, merci de me le faire savoir.
Dans les commentaires, on m'a dit d'utiliser le format approprié pour éditer le message. Je ne sais pas ce que cela signifie, c'est mon premier message.