Re: bash or sed script
mess-mate a écrit, mardi 7 juin 2005, à 16:39 :
> Jacques L'helgoualc'h <lhh+no_spam@free.fr> wrote:
[...]
> | Le script suivant devrait faire à peu près ce que tu demandes ?
> |
> | ARCHIVE_DU_JOUR="Boot-$(date '+%Y-%m-%d').tgz"
> |
> | tar czf "$ARCHIVE_DU_JOUR" /les/reps/à/sauver && { \
> | ls -1 Boot-[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9].tgz | \
> | grep -v -F "$ARCHIVE_DU_JOUR" | \
> | xargs rm -f
> | }
> |
> Ce dernier script marche à MERVEILLE.
> Tous les anciens fichiers sont enlevés et un nouveau du jour est
> crée; si un nouveau du jour existe déjà celui-ci est remplacé !
> Reste encore:
> - si plusieurs répertoires à sauver.
tar czf "$ARCHIVE_DU_JOUR" /rep1/à/sauver /rep2 /rep3 fichier1 fichier2 ... && { \
Tar a aussi une option --files-from FICHIER_LISTE.
> - que le script s'exécute lors du login à la machine par
> l'utilisateur (workstation).
Heu, tu risques de te loger plusieurs fois ? Je mettrais plutôt ça dans
un cron quotidien --- ou en refusant de le faire deux fois :
ARCHIVE_DU_JOUR=...
cd /rep/des/archives/ && \
if [ ! -f "$ARCHIVE_DU_JOUR" ]; then
tar czf ...
# etc
fi
et l'appel du script dans ~/.bash_profile, ~/.bash_login, ou ~/.profile,
cf. INVOCATION dans man bash. Vérifie aussi si ça marche avec un
[gkw]dm quelconque ...
> C'est trop demandé ?
Bah non.
> Déjà merci pour ton temps.
de rien,
--
Jacques L'helgoualc'h
Reply to: