Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/03/2013, à 19:50

bokit51

Ecrire un script modifiant le crontab de root

Bonjour,
J'essaie depuis qq jours à modifier le crontab root de moman.
Et oui ma moman est loin et je ne peux pas simplement taper crontab -e
En fait je voudrais faire exécuter mon script /root/rsync.sh tous les jours ainsi que compte.sh
Deux lignes du style:
01 16 * * * /root/rsync.sh
01 18 * * * /root compte.sh
Mais je voudrais un script qui modifierai le crontab comme le fait crontab -e, c'est à dire qu'il soit encore présent après un redémarrage.
Merci d'avance

Hors ligne

#2 Le 14/03/2013, à 22:41

JoelS

Re : Ecrire un script modifiant le crontab de root

La gestion par script du crontab sous debian est différente.

Tu ne changes pas les ordres via crontab -e. En fait il vaut mieux virer tout ça et utiliser les fichiers dans /etc/cron.{hourly,daily,weekly,monthly} et/ou /etc/cron.d.

En gros tu mets tes fichiers dans ces répertoires et ils sont lus par cron directement.

Par exemple dans /etc/cron.daily, tu mets un fichier ma-moman-a-moi qui contient les 2 commandes en question et ces commandes seront exécutées tous les jours à 06h25.

Les restrictions portent sur les droits d'accès (root ou pas) et le droit d'exécution.

Regardes la page de manuel de cron qui est complète.

Ceci a été fait sous debian pour permettre aux packages de manipuler facilement les cron lors d'installation, mise à jour et suppression. Je crois que ça été copié ensuite sous RedHat.

Sinon c'est une véritable horreur.

Hors ligne

#3 Le 15/03/2013, à 04:04

nesthib

Re : Ecrire un script modifiant le crontab de root

Je me demande toujours l'utilité de modifier un crontab de façon périodique… cron est déjà fait pour lancer des tâches périodique, quel est l'intérêt de vouloir modifier sa configuration quotidiennement ? (c'est comme si tu utilisais un thermostat pour ton logement et que tu changeais la température manuellement toutes les heures)
Formulé autrement, que cherches-tu à lancer avec ton crontab ?


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#4 Le 15/03/2013, à 10:14

JoelS

Re : Ecrire un script modifiant le crontab de root

Je ne crois pas que bokit51 veuille modifier périodiquement le crontab.

il veut pouvoir modifier par programme le crontab, et pas à la main.

C'est le sens de ma réponse: pour modifier le crontab par un programme (script) on utilise les fonctions avancées du cron de debian et on modifie les fichiers sous /etc/crond.d..., on n'émule pas l'interface de crontab -e.

Hors ligne

#5 Le 15/03/2013, à 12:22

bokit51

Re : Ecrire un script modifiant le crontab de root

Merci de vos réponses et considérations philosophiques de nesthib
Pour JoelS
Le soucis est que le système est un mandriva tout pourri ou le cron.daily ne fonctionne pas.
C'est pourquoi je dois absolument utiliser crontab -e.
Mais pour créer un script écrivant avec cette commande,  je lutte.

Hors ligne

#6 Le 16/03/2013, à 00:54

nesthib

Re : Ecrire un script modifiant le crontab de root

Tu peux lancer directement :

crontab <un_fichier

et donc, par dérivation :

crontab <<<"0 * * * * echo plop"

Attention, ton crontab sera remplacé !

Pour ajouter une ligne :

crontab < <(crontab -l ; echo "0 * * * * echo plop")

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne