Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Script et fichier de log

7 réponses
Avatar
Jerome Lambert
Bonjour à tous.

Pour me simplifier mes backups, j'ai créé le script suivant (nommé
backup.sh):

#!/bin/sh
echo "Backup effectue le: "
date
echo "Fichiers ajoutes a evolution.tar:"
tar -cvf evolution.tar ./evolution/*
echo "Fichiers ajoutes a documents.tar:"
tar -cvf documents.tar ./Documents/*
echo "Fichiers ajoutas à bookmarks.tar:"
tar -cvf bookmarks.tar ./.mozilla/default/s1qanosw.slt/bookmarks.html
echo "Montage du zip"
mount -v /mnt/zip
echo "Copie des fichiers"
cp -uv *.tar /mnt/zip/
echo "Synchronisation des medias"
sync
echo "Demontage du zip"
umount -v /mnt/zip
echo "Fin du processus"

J'ai mis le mode verbeux à toutes mes commandes afin de voir quels
fichiers ont été sauvés et si tout s'est bien passé.

Maintenant, j'aimerais mettre toutes ces infos dans un fichier backup.log .
Donc j'ai vu trois pistes:
- truffer mon script de > et >> backup.log (beurk!)
- taper ./backup.sh > backup.log (bof!)
- faire un deuxième script qui contiendrait la ligne ci-dessus (beurk!)

Y aurait-il une solution plus élégante que celles que je viens de citer?

Merci d'avance,

Jerome.

P.S: c'est le premier script que je fais de A à Z, donc les commentaires
sont les bienvenus sur les erreurs et améliorations à y apporter.

7 réponses

Avatar
DINH Viêt Hoà

- taper ./backup.sh > backup.log (bof!)


c'est plutôt cela qui est fait la plupart du temps.

--
DINH V. Hoa,

"Il faut savoir arrêter l'alcool de temps en temps" -- MAB

Avatar
Philippe Delsol
Bonjour à tous.

Pour me simplifier mes backups, j'ai créé le script suivant (nommé
backup.sh):

#!/bin/sh
echo "Backup effectue le: "
date
echo "Fichiers ajoutes a evolution.tar:"
tar -cvf evolution.tar ./evolution/*
echo "Fichiers ajoutes a documents.tar:"
tar -cvf documents.tar ./Documents/*
echo "Fichiers ajoutas à bookmarks.tar:"
tar -cvf bookmarks.tar ./.mozilla/default/s1qanosw.slt/bookmarks.html
echo "Montage du zip"
mount -v /mnt/zip
echo "Copie des fichiers"
cp -uv *.tar /mnt/zip/
echo "Synchronisation des medias"
sync
echo "Demontage du zip"
umount -v /mnt/zip
echo "Fin du processus"

J'ai mis le mode verbeux à toutes mes commandes afin de voir quels
fichiers ont été sauvés et si tout s'est bien passé.

Maintenant, j'aimerais mettre toutes ces infos dans un fichier backup.log .
Donc j'ai vu trois pistes:
- truffer mon script de > et >> backup.log (beurk!)
- taper ./backup.sh > backup.log (bof!)
- faire un deuxième script qui contiendrait la ligne ci-dessus (beurk!)

Y aurait-il une solution plus élégante que celles que je viens de citer?

Merci d'avance,

Jerome.

P.S: c'est le premier script que je fais de A à Z, donc les commentaires
sont les bienvenus sur les erreurs et améliorations à y apporter.


Etre verbeux c'est bien mais pas souvent nécessaire.
Le plus important est de savoir si ça s'est bien passé, pour cela on
fait un test sur le retour de la commande et on "log" uniquement si ça
s'est mal passé.

Philippe

Avatar
Laurent CARON
Philippe Delsol wrote:


Bonjour à tous.

Pour me simplifier mes backups, j'ai créé le script suivant (nommé
backup.sh):

#!/bin/sh
echo "Backup effectue le: "
date
echo "Fichiers ajoutes a evolution.tar:"
tar -cvf evolution.tar ./evolution/*
echo "Fichiers ajoutes a documents.tar:"
tar -cvf documents.tar ./Documents/*
echo "Fichiers ajoutas à bookmarks.tar:"
tar -cvf bookmarks.tar ./.mozilla/default/s1qanosw.slt/bookmarks.html
echo "Montage du zip"
mount -v /mnt/zip
echo "Copie des fichiers"
cp -uv *.tar /mnt/zip/
echo "Synchronisation des medias"
sync
echo "Demontage du zip"
umount -v /mnt/zip
echo "Fin du processus"

J'ai mis le mode verbeux à toutes mes commandes afin de voir quels
fichiers ont été sauvés et si tout s'est bien passé.

Maintenant, j'aimerais mettre toutes ces infos dans un fichier
backup.log .
Donc j'ai vu trois pistes:
- truffer mon script de > et >> backup.log (beurk!)
- taper ./backup.sh > backup.log (bof!)
- faire un deuxième script qui contiendrait la ligne ci-dessus (beurk!)

Y aurait-il une solution plus élégante que celles que je viens de citer?

Merci d'avance,

Jerome.

P.S: c'est le premier script que je fais de A à Z, donc les commentaires
sont les bienvenus sur les erreurs et améliorations à y apporter.



Etre verbeux c'est bien mais pas souvent nécessaire.
Le plus important est de savoir si ça s'est bien passé, pour cela on
fait un test sur le retour de la commande et on "log" uniquement si ça
s'est mal passé.

Philippe




cron


Avatar
JustMe
Jerome Lambert wrote:
Bonjour à tous.

Pour me simplifier mes backups, j'ai créé le script suivant (nommé
backup.sh):


rajoute ce que j'ai insere


#!/bin/sh


(

echo "Backup effectue le: "
date
echo "Fichiers ajoutes a evolution.tar:"
tar -cvf evolution.tar ./evolution/*
echo "Fichiers ajoutes a documents.tar:"
tar -cvf documents.tar ./Documents/*
echo "Fichiers ajoutas à bookmarks.tar:"
tar -cvf bookmarks.tar ./.mozilla/default/s1qanosw.slt/bookmarks.html
echo "Montage du zip"
mount -v /mnt/zip
echo "Copie des fichiers"
cp -uv *.tar /mnt/zip/
echo "Synchronisation des medias"
sync
echo "Demontage du zip"
umount -v /mnt/zip
echo "Fin du processus"


) > /var/log/backup.log

ou

) 2>&1 /var/log/backup.log



J'ai mis le mode verbeux à toutes mes commandes afin de voir quels
fichiers ont été sauvés et si tout s'est bien passé.

Maintenant, j'aimerais mettre toutes ces infos dans un fichier backup.log .
Donc j'ai vu trois pistes:
- truffer mon script de > et >> backup.log (beurk!)
- taper ./backup.sh > backup.log (bof!)
- faire un deuxième script qui contiendrait la ligne ci-dessus (beurk!)

Y aurait-il une solution plus élégante que celles que je viens de citer?


sinon, lance le par cron et tu auras le log par mail


Merci d'avance,

Jerome.

P.S: c'est le premier script que je fais de A à Z, donc les commentaires
sont les bienvenus sur les erreurs et améliorations à y apporter.


Avatar
Jerome Lambert
Le Sat, 03 Apr 2004 18:29:35 +0200, Laurent CARON a écrit :
cron


Ben non, vu que je le lance quand j'ai fini de travailler, et donc pas a
intervalle définie...

Avatar
Jerome Lambert
Le Sat, 03 Apr 2004 18:35:33 +0200, JustMe a écrit :
rajoute ce que j'ai insere


#!/bin/sh


(


(snip le script)

) > /var/log/backup.log


C'est pile-poil ce que je cherchais.

Merci beaucoup.

Jerome.


Avatar
Vincent Lefevre
Dans l'article ,
Jerome Lambert écrit:

Le Sat, 03 Apr 2004 18:35:33 +0200, JustMe a écrit :
rajoute ce que j'ai insere

#!/bin/sh


(


(snip le script)

) > /var/log/backup.log


C'est pile-poil ce que je cherchais.


Avec bash ou zsh, pas besoin de lancer un sous-shell. Si le but est de
rediriger tout stdout dans un fichier, il suffit d'un

exec > /var/log/backup.log

au début du script, par exemple.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/> - 100%
validated (X)HTML - Acorn Risc PC, Yellow Pig 17, Championnat International
des Jeux Mathématiques et Logiques, TETRHEX, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA