Le find te donne le nom des répertoires un par un de /home :
/home/user1
/home/user2
...
/home/user3
Dans ton script, tu ne sauvegardes que /home/arras8 et non pas chaque dossier du /home comme tu l'as indiqué dans ton second message.
De plus, tu crées un tar par répertoire et par fichier présent dans /home/arras8. Les répertoires et fichiers cachés de cet utilisateur ne seront pas sauvegardés.
Pour les scripts comme ça, si le nombre de fichiers/répertoires est trop grand, le "for" ne fonctionnera pas : trop de paramètres. C'est pour ça que je conseille de plutôt utiliser un while.
Donc, si je ne me trompe pas, ce serait un script de la forme (les options de tar sont vraiment à regarder de plus près. A mon avis, ce que j'ai écris n'ira pas sur bande bien comme il faut. Enfin, c'est juste pour donner une idée):
#!/bin/sh
DATE=$(date +"%Y-%m-%d")
LOG=/home/sauvegarde_du_$DATE.log
# Pour tout écrire dans le log
exec 1> $LOG
exec 2>&1
find /home -maxdepth=1 -type d | while read line ; do
echo "------ SAUVEGARDE DE $(basename $line) -------"
tar cvzM $line > /dev/tape
done
PS : peux-tu éviter d'écrire en sms stp?
Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"
Poste le Wednesday 28 May 2008 13:07:17