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: