J'ai un script qui fait une sauvegarde (tar) de toute l'arborescence des
sources d'un projet.
Je fais juste un tar, puis je fais aussi une copie sur un serveur réseau
monté avec samba sur /mnt/backup
Voilà mon "script" (on ne rigole pas... :-) ) :
----
DATE=`date "+%Y%m%d"`
tar czvf /home/monuser/backups/src_$DATE.tgz /home/monuser/Projet/src/*
cp /home/monuser/backups/src_$DATE.tgz /mnt/backup
----
Il marche très bien quand je l'appelle à partir d'une console. J'obtiens
un fichier tgz d'une taille approximative de 1,5 Meg
Je me suis dit que ça serait cool si je le lançai automatiquement tous
les soirs, d'où la crontab suivante :
----
# Backup Daily des sources (L-V a 23h30)
30 23 * * 1-5 /home/monuser/Projet/Tools/backup_sources.sh
----
Le script est bien lancé au bon moment (bons jours, et bonne heure) par
la crontab, mais le tar ne se termine apparemment pas bien : le fichier
.tgz ne fait que 30k et n'a pas été copié avec le cp. Quand j'essaye de
restaurer le .tgz , il me sort une erreur.
Je comprends pas pourquoi ça marche en le lançant à la main, et ça
plante quand c'est la crontab qui le lance. Chuis perplexe là...
Je comprends pas pourquoi ça marche en le lançant à la main, et ça plante quand c'est la crontab qui le lance. Chuis perplexe là...
L'utilisateur perplexe sera avisé de lire ses mails dans ce cas précis. Cron t'envoie par mail les sortie standard et d'erreur des jobs qu'il lance :)
Luc Martineau
Lassie wrote:
Hello, Bonjour
...
Le script est bien lancé au bon moment (bons jours, et bonne heure) par la crontab, mais le tar ne se termine apparemment pas bien : le fichier .tgz ne fait que 30k et n'a pas été copié avec le cp. Quand j'essaye de restaurer le .tgz , il me sort une erreur.
Je comprends pas pourquoi ça marche en le lançant à la main, et ça plante quand c'est la crontab qui le lance. Chuis perplexe là...
À tout hasard, est-ce que tar est accessible à partir de la varible PATH du
crontab de l'utilisateur qui exécute le script?
L'environnement de cron est minimaliste. C'est un cas classique d'un script qui fonctionne en interactif et pas avec cron
Donc ,deux solutions: 1)Ajouter la ligne suivante au crontab: PATH="/bin"
2)Spécifier le chemin complet de tar et cp dans le script
En espérant d'avoir aider un peu.
Luc
Lassie wrote:
Hello,
Bonjour
...
Le script est bien lancé au bon moment (bons jours, et bonne heure) par
la crontab, mais le tar ne se termine apparemment pas bien : le fichier
.tgz ne fait que 30k et n'a pas été copié avec le cp. Quand j'essaye de
restaurer le .tgz , il me sort une erreur.
Je comprends pas pourquoi ça marche en le lançant à la main, et ça
plante quand c'est la crontab qui le lance. Chuis perplexe là...
À tout hasard, est-ce que tar est accessible à partir de la varible PATH du
crontab de l'utilisateur qui exécute le script?
L'environnement de cron est minimaliste.
C'est un cas classique d'un script qui fonctionne en interactif et pas avec cron
Donc ,deux solutions:
1)Ajouter la ligne suivante au crontab:
PATH="/bin"
2)Spécifier le chemin complet de tar et cp dans le script
Le script est bien lancé au bon moment (bons jours, et bonne heure) par la crontab, mais le tar ne se termine apparemment pas bien : le fichier .tgz ne fait que 30k et n'a pas été copié avec le cp. Quand j'essaye de restaurer le .tgz , il me sort une erreur.
Je comprends pas pourquoi ça marche en le lançant à la main, et ça plante quand c'est la crontab qui le lance. Chuis perplexe là...
À tout hasard, est-ce que tar est accessible à partir de la varible PATH du
crontab de l'utilisateur qui exécute le script?
L'environnement de cron est minimaliste. C'est un cas classique d'un script qui fonctionne en interactif et pas avec cron
Donc ,deux solutions: 1)Ajouter la ligne suivante au crontab: PATH="/bin"
2)Spécifier le chemin complet de tar et cp dans le script
En espérant d'avoir aider un peu.
Luc
TiChou
Dans l'article news:402ceb91$0$28151$, Lassie écrivait :
Hello,
Bonjour,
J'ai un script qui fait une sauvegarde (tar) de toute l'arborescence des sources d'un projet. Je fais juste un tar, puis je fais aussi une copie sur un serveur réseau monté avec samba sur /mnt/backup
Voilà mon "script" (on ne rigole pas... :-) ) : ---- DATE=`date "+%Y%m%d"` tar czvf /home/monuser/backups/src_$DATE.tgz /home/monuser/Projet/src/* cp /home/monuser/backups/src_$DATE.tgz /mnt/backup ----
Il marche très bien quand je l'appelle à partir d'une console. J'obtiens un fichier tgz d'une taille approximative de 1,5 Meg
Je me suis dit que ça serait cool si je le lançai automatiquement tous les soirs, d'où la crontab suivante : ---- # Backup Daily des sources (L-V a 23h30) 30 23 * * 1-5 /home/monuser/Projet/Tools/backup_sources.sh ----
Le script est bien lancé au bon moment (bons jours, et bonne heure) par la crontab, mais le tar ne se termine apparemment pas bien : le fichier .tgz ne fait que 30k et n'a pas été copié avec le cp. Quand j'essaye de restaurer le .tgz , il me sort une erreur.
Je comprends pas pourquoi ça marche en le lançant à la main, et ça plante quand c'est la crontab qui le lance. Chuis perplexe là...
Le même problème a été signalé ici :
http://www.google.fr/groups?th`d3f769be5614c6
Essayez de tenir compte des remarques qui avaient été faite. Malheureusement, et ça bien trop souvent, l'initiateur de ce post nous a pas tenu informé de l'évolution de son problème et de sa résolution ou pas... Pour ma part, je pense que le problème se situe au niveau des redirections des sorties. N'utilisez pas l'option verbose (-v) dans votre commande tar.
-- TiChou
Dans l'article news:402ceb91$0$28151$626a14ce@news.free.fr,
Lassie <lameto0@netcourrier.com> écrivait :
Hello,
Bonjour,
J'ai un script qui fait une sauvegarde (tar) de toute l'arborescence des
sources d'un projet.
Je fais juste un tar, puis je fais aussi une copie sur un serveur réseau
monté avec samba sur /mnt/backup
Voilà mon "script" (on ne rigole pas... :-) ) :
----
DATE=`date "+%Y%m%d"`
tar czvf /home/monuser/backups/src_$DATE.tgz /home/monuser/Projet/src/*
cp /home/monuser/backups/src_$DATE.tgz /mnt/backup
----
Il marche très bien quand je l'appelle à partir d'une console. J'obtiens
un fichier tgz d'une taille approximative de 1,5 Meg
Je me suis dit que ça serait cool si je le lançai automatiquement tous
les soirs, d'où la crontab suivante :
----
# Backup Daily des sources (L-V a 23h30)
30 23 * * 1-5 /home/monuser/Projet/Tools/backup_sources.sh
----
Le script est bien lancé au bon moment (bons jours, et bonne heure) par
la crontab, mais le tar ne se termine apparemment pas bien : le fichier
.tgz ne fait que 30k et n'a pas été copié avec le cp. Quand j'essaye de
restaurer le .tgz , il me sort une erreur.
Je comprends pas pourquoi ça marche en le lançant à la main, et ça
plante quand c'est la crontab qui le lance. Chuis perplexe là...
Le même problème a été signalé ici :
http://www.google.fr/groups?th`d3f769be5614c6
Essayez de tenir compte des remarques qui avaient été faite.
Malheureusement, et ça bien trop souvent, l'initiateur de ce post nous a pas
tenu informé de l'évolution de son problème et de sa résolution ou pas...
Pour ma part, je pense que le problème se situe au niveau des redirections
des sorties. N'utilisez pas l'option verbose (-v) dans votre commande tar.
Dans l'article news:402ceb91$0$28151$, Lassie écrivait :
Hello,
Bonjour,
J'ai un script qui fait une sauvegarde (tar) de toute l'arborescence des sources d'un projet. Je fais juste un tar, puis je fais aussi une copie sur un serveur réseau monté avec samba sur /mnt/backup
Voilà mon "script" (on ne rigole pas... :-) ) : ---- DATE=`date "+%Y%m%d"` tar czvf /home/monuser/backups/src_$DATE.tgz /home/monuser/Projet/src/* cp /home/monuser/backups/src_$DATE.tgz /mnt/backup ----
Il marche très bien quand je l'appelle à partir d'une console. J'obtiens un fichier tgz d'une taille approximative de 1,5 Meg
Je me suis dit que ça serait cool si je le lançai automatiquement tous les soirs, d'où la crontab suivante : ---- # Backup Daily des sources (L-V a 23h30) 30 23 * * 1-5 /home/monuser/Projet/Tools/backup_sources.sh ----
Le script est bien lancé au bon moment (bons jours, et bonne heure) par la crontab, mais le tar ne se termine apparemment pas bien : le fichier .tgz ne fait que 30k et n'a pas été copié avec le cp. Quand j'essaye de restaurer le .tgz , il me sort une erreur.
Je comprends pas pourquoi ça marche en le lançant à la main, et ça plante quand c'est la crontab qui le lance. Chuis perplexe là...
Le même problème a été signalé ici :
http://www.google.fr/groups?th`d3f769be5614c6
Essayez de tenir compte des remarques qui avaient été faite. Malheureusement, et ça bien trop souvent, l'initiateur de ce post nous a pas tenu informé de l'évolution de son problème et de sa résolution ou pas... Pour ma part, je pense que le problème se situe au niveau des redirections des sorties. N'utilisez pas l'option verbose (-v) dans votre commande tar.
-- TiChou
Lassie
TiChou wrote: [snip]
Je comprends pas pourquoi ça marche en le lançant à la main, et ça plante quand c'est la crontab qui le lance. Chuis perplexe là...
Le même problème a été signalé ici :
http://www.google.fr/groups?th`d3f769be5614c6
Essayez de tenir compte des remarques qui avaient été faite. Malheureusement, et ça bien trop souvent, l'initiateur de ce post nous a pas tenu informé de l'évolution de son problème et de sa résolution ou pas... Pour ma part, je pense que le problème se situe au niveau des redirections des sorties. N'utilisez pas l'option verbose (-v) dans votre commande tar.
Bien vu, c'était effectivement l'histoire de la redirection de la sortie standard. J'ai modifié la crontab pour rediriger la sortie standard vers un log, et ça marche nickel : /home/monuser/Projet/Tools/backup_sources.sh > /tmp/myscript.log
Merci pour l'info, je ne savais pas que la crontab ne connaissait pas la même sortie standard que le user. D'après ce que je crois comprendre, par defaut, c'est redirigé vers le mail et apparemment le mail explose car le -v du tar est trop 'bavard'. Ca m'intéresse cette histoire d'erreurs redirigées vers le mail, ça peut m'être utile pour un autre script. Je vais chercher de la doc la dessus.
A+
TiChou wrote:
[snip]
Je comprends pas pourquoi ça marche en le lançant à la main, et ça
plante quand c'est la crontab qui le lance. Chuis perplexe là...
Le même problème a été signalé ici :
http://www.google.fr/groups?th`d3f769be5614c6
Essayez de tenir compte des remarques qui avaient été faite.
Malheureusement, et ça bien trop souvent, l'initiateur de ce post nous a pas
tenu informé de l'évolution de son problème et de sa résolution ou pas...
Pour ma part, je pense que le problème se situe au niveau des redirections
des sorties. N'utilisez pas l'option verbose (-v) dans votre commande tar.
Bien vu, c'était effectivement l'histoire de la redirection de la sortie
standard.
J'ai modifié la crontab pour rediriger la sortie standard vers un log,
et ça marche nickel :
/home/monuser/Projet/Tools/backup_sources.sh > /tmp/myscript.log
Merci pour l'info, je ne savais pas que la crontab ne connaissait pas la
même sortie standard que le user. D'après ce que je crois comprendre,
par defaut, c'est redirigé vers le mail et apparemment le mail explose
car le -v du tar est trop 'bavard'.
Ca m'intéresse cette histoire d'erreurs redirigées vers le mail, ça peut
m'être utile pour un autre script. Je vais chercher de la doc la dessus.
Je comprends pas pourquoi ça marche en le lançant à la main, et ça plante quand c'est la crontab qui le lance. Chuis perplexe là...
Le même problème a été signalé ici :
http://www.google.fr/groups?th`d3f769be5614c6
Essayez de tenir compte des remarques qui avaient été faite. Malheureusement, et ça bien trop souvent, l'initiateur de ce post nous a pas tenu informé de l'évolution de son problème et de sa résolution ou pas... Pour ma part, je pense que le problème se situe au niveau des redirections des sorties. N'utilisez pas l'option verbose (-v) dans votre commande tar.
Bien vu, c'était effectivement l'histoire de la redirection de la sortie standard. J'ai modifié la crontab pour rediriger la sortie standard vers un log, et ça marche nickel : /home/monuser/Projet/Tools/backup_sources.sh > /tmp/myscript.log
Merci pour l'info, je ne savais pas que la crontab ne connaissait pas la même sortie standard que le user. D'après ce que je crois comprendre, par defaut, c'est redirigé vers le mail et apparemment le mail explose car le -v du tar est trop 'bavard'. Ca m'intéresse cette histoire d'erreurs redirigées vers le mail, ça peut m'être utile pour un autre script. Je vais chercher de la doc la dessus.
A+
Lassie
Tibi wrote:
On Fri, 13 Feb 2004 16:26:24 +0100, Lassie wrote:
Je comprends pas pourquoi ça marche en le lançant à la main, et ça plante quand c'est la crontab qui le lance. Chuis perplexe là...
L'utilisateur perplexe sera avisé de lire ses mails dans ce cas précis. Cron t'envoie par mail les sortie standard et d'erreur des jobs qu'il lance :)
Pile poil... c'était effectivement à cause de la redirection par defaut du cron sur le mail. Apparemment le tar génère trop de lignes (à cause du -v) pour le mail qui fini par exploser... Je ne connaissais pas ce détail de la crontab. A+
Tibi wrote:
On Fri, 13 Feb 2004 16:26:24 +0100, Lassie <lameto0@netcourrier.com> wrote:
Je comprends pas pourquoi ça marche en le lançant à la main, et ça
plante quand c'est la crontab qui le lance. Chuis perplexe là...
L'utilisateur perplexe sera avisé de lire ses mails dans ce cas précis.
Cron t'envoie par mail les sortie standard et d'erreur des jobs qu'il
lance :)
Pile poil... c'était effectivement à cause de la redirection par defaut
du cron sur le mail. Apparemment le tar génère trop de lignes (à cause
du -v) pour le mail qui fini par exploser...
Je ne connaissais pas ce détail de la crontab.
A+
Je comprends pas pourquoi ça marche en le lançant à la main, et ça plante quand c'est la crontab qui le lance. Chuis perplexe là...
L'utilisateur perplexe sera avisé de lire ses mails dans ce cas précis. Cron t'envoie par mail les sortie standard et d'erreur des jobs qu'il lance :)
Pile poil... c'était effectivement à cause de la redirection par defaut du cron sur le mail. Apparemment le tar génère trop de lignes (à cause du -v) pour le mail qui fini par exploser... Je ne connaissais pas ce détail de la crontab. A+