[Linux-31] start to script of the write to files... soluce!!!
pti-jean
jm.mongt at gmail.com
Mar 14 Avr 11:26:53 CEST 2015
Bonjour,
Voila la solution trouvé...
j'ai réalisé deux scripts qui tourneront en services...
j'ai utilisé la commande "inotifywait" pour son option récursive...
le premier script s'occupe de gérer la création et modification de
fichiers...
le deuxième script s'occupe de gérer la suppression de fichiers...
le premier script s'appelle sync_modif.sh et ce lance en passant en
paramètre le répertoire de départ (A) et le répertoire d'arriver (B):
sync_modif.sh /rep/A /rep/B
mon deuxième script s'appelle sync_del.sh et ce lance avec les mêmes
paramètres que le premier:
sync_del.sh /rep/A /rep/B
--------------------------------------------------
$ cat bin/sync_modif.sh
#!/bin/bash
rep_dp="$(readlink -f "$1")"
rep_ar="$(readlink -f "$2")"
inotifywait -m -r -e create,modify,moved_to "$rep_dp" --format "%w%f" |
while read line ; do
ar="$(echo $line | sed -e "s@^$rep_dp@$rep_ar@")"
#echo "$line --- $ar"
cp -a "$line" "$ar"
done
--------------------------------------------------
--------------------------------------------------
$ cat bin/sync_del.sh
#!/bin/bash
rep_dp="$(readlink -f "$1")"
rep_ar="$(readlink -f "$2")"
inotifywait -m -r -e delete,moved_from "$rep_dp" --format "%w%f" | while
read line ; do
ar="$(echo $line | sed -e "s@^$rep_dp@$rep_ar@")"
# echo "$line --- $ar"
rm -r "$ar"
done
--------------------------------------------------
Solution à compléter éventuellement avec un rsync au démarrage de la
machine... juste pour combler d'éventuel loupé qui ne devrait pas
être... pour être sur de démarrer sur des répertoires synchronisés... ce
rsync normalement si tout se passe bien ne devrait rien faire.
Voila,
JM
Plus d'informations sur la liste de diffusion Linux-31