Hello !
Je ne connais pas grand chose à cron (j’ai seulement quelques commandes à exécuter par root, de ce côté là pas de soucis particulier).
J’ai écrit un script bash pour sauvegarder les bases de données de mon serveur. Comme j’ai plusieurs utilisateurs de base de données, ce script fait intervenir la variable $USER (pour préciser où créer les fichiers, entre autres).
Quand j’exécute le script manuellement, en étant connecté en tant qu’utilisateur A ou B, tout se passe comme prévu, mais les exécutions cron semblent avoir un problème au niveau des utilisateurs (echo $USER renvoie une chaîne vide). Le script est tout de même exécuté, par ailleurs.
Voici mon /etc/crontab:
[code]# m h dom mon dow user command
42 6 * * * userA /usr/bin/backup_db.sh
47 6 * * * userB /usr/bin/backup_db.sh[/code]
Le script backup_db.sh est exécutable pour le groupe dont font partie userA et userB.
A toutes fins utiles, voici aussi le script concerné:
http://pastebin.com/p1ivVP4R
(je le colle sur pastebin parce qu’il y a la syntaxe bash et c’est quand même bien pratique)
Pour récapituler: comment faire exécuter un script cron dans l’environnement d’un utilisateur en particulier ?
Merci d’avance !
PS: le script n’est pas parfait et est encore en travaux, mais pour l’instant il fait ce dont j’ai besoin (plus tard j’ajouterai aussi une gestoin d’erreur en cas de clés pgp introuvables, par exemple)