[cron] script utilisateur [Résolu]

Bonjour

J’ai un utilisateur qui doit lancer un script de sauvegarde. Mon soucis c’est que le portable n’est pas allumé 24/24.

  • J’ai mis le script dans le crontab de l’utilisateur, mais hélas anacron ne lance pas celui-ci si le portable était hors -tension à l’heure du script => Raté

  • J’ai mis le script dans le crontab du système sauf que les droits des sauvegardes sont en root malgré les setuid et les setgid sur le script. => Raté

  • Test avec su -c => raté ( ne prend pas ma variable )

    #!/bin/bash
    export BORG_PASSPHRASE='MDP’
    borg create -p -C zlib,6 -v --list /home/christophe/sauvegarde-home::date +%Y-%m-%d--%H:%M:%S /home/christophe --exclude /home/christophe/Téléchargements/ --exclude /home/christophe/sauvegarde-home/ --exclude /home/christophe/.cache/ ’

merci de votre aide

Mais, il se lance par anacron ?

C’est résolu.

en gros je mettais le sudo -u dans le script.
Le truc à ne pas faire

10 8 * * * sudo -u christophe chemin_du_script

et la ça fonctionne même si le portable est eteint grâce à anacron qui lit le crontab

Dans le crontab du système, il y a un champ supplémentaire entre les jours de la semaine et la commande.
Extrait du manuel de crontab (5) :
EXEMPLE DE FICHIER SYSTÈME CRON
L’exemple suivant présente le fichier crontab d’un système. Contrairement à la crontab d’un utilisateur, ce fichier contient le champ identifiant, comme dans le fichier /etc/crontab.

   # /etc/crontab: crontab du système
   # À la différence des autres crontabs, vous n'avez pas besoin
   # d'exécuter la commande crontab pour installer la nouvelle version
   # quand vous modifiez ce fichier. Ce fichier possède aussi un champ
   # identifiant que les autres crontabs n'ont pas.

   SHELL=/bin/sh
   PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

   # m h dom mon dow ident. commande
   42 6 * * *        root    run-parts --report /etc/cron.daily
   47 6 * * 7        root    run-parts --report /etc/cron.weekly
   52 6 1 * *        root    run-parts --report /etc/cron.monthly
   # 

GG

merci quand je tape mon identifiant.
Crontab me crie dessus en me disant que c’est mal formaté.

je vais retester ce soir.

OK merci

je viens d’apprendre la présence d’un crontab systeme.
J’editer le crontab de root

Merci beaucoup