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

Re: sauvegarde intelligente



antoine@starinux.org a écrit :
> Bonjour,
>
> J'ai le répertoire "/sauvegarde" qui contient ces 3 fichiers :
> 1.c    2.c    3.c
>
> et le répertoire "/home/antoine/sauve" qui contient ces 3 fichiers :
> 1.c    2.c    3.c     4.c     5.c
> -----------------------
> Question :
> Comment sauvegarder de "/home/antoine/sauve" => "/sauvegarde" que :
> 1) les fichiers qui ont été modifiés,
> 2) les fichiers qui ont été modifiés depuis une heure,
> 3) les fichiers manquants.
>
> et ce, sans avoir à donner leurs noms via la commande "cp".
>
> Merci !
>
> antoine
>
>   

A part rsync, tu peux aussi utiliser make (ci-dessous un Makefile, qui
necessite gnu make).

si tu ne le fais pas déjà, pense à utiliser un gestionnaire de version
(subversion par exemple).


============ Makefile (à mettre la où il y a les .c).
BACKUP_DIR=/tmp/SAVE

SRCS=$(wildcard *.c)
H_SRCS=$(shell find . -type f -name "*.c" -mmin -60)
M_SRCS=$(filter-out $(notdir $(wildcard ${BACKUP_DIR}/*.c)), ${SRCS})

BACKUPS=$(addprefix ${BACKUP_DIR}/,${SRCS})
H_BACKUPS=$(addprefix ${BACKUP_DIR}/,${H_SRCS})
M_BACKUPS=$(addprefix ${BACKUP_DIR}/,${M_SRCS})


.PHONY: hoursave savemissing backup bclean

backup: ${BACKUP_DIR} ${BACKUPS}
hback: ${BACKUP_DIR} ${H_BACKUPS}
mback: ${BACKUP_DIR} ${M_BACKUPS}
bclean:
    -rm -f ${BACKUPS}

${BACKUP_DIR}:
    mkdir -p $@

${BACKUP_DIR}/%: %
    cp $< $@
==================



Reply to: