#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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne