[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: