[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