Bonjour
Je suis en train d'écrire un script qui est déclenché par incrontab
Code :
- [root@machine ~]# cat /etc/incron.d/bench.conf
- /tmp/generated/ IN_CLOSE_WRITE,IN_CREATE /root/envoi_vers_machine2.bash $@ $# machine2 /tmp/received_bench/
- [root@machine ~]# cat /root/envoi_vers_machine2.bash
- #!/bin/bash
- #set -x
- FILE_DIR=$1
- FILE=$2
- DEST_SERV=$3
- DEST_DIR=$4
- logger -plocal1.notice -t ${0##*/}[$$] "scp -C $FILE_DIR/$FILE $DEST_SERV:$DEST_DIR"
- #scp -C $FILE_DIR/$FILE $DEST_SERV:$DEST_DIR 2>&1
- #/usr/bin/rsync --remove-sent-files -az -e "/usr/local/openssh/bin/ssh" /tmp/generated/ root@machine2:/tmp/received_bench/
- #tar czf - * | ssh root@machine2 "cd /tmp/received_bench/ && tar xzf -"
- if [ $? -eq 0 ]; then
- logger -plocal1.notice -t ${0##*/}[$$] "Transfer $FILE_DIR/$FILE successfully complete"
- else
- logger -plocal1.error -t ${0##*/}[$$] "Transfer $FILE_DIR/$FILE Failed"
- fi
- exit
|
En fait, dans mon /tmp/generated/ j'ai plusieurs batchs qui vont créer un grand nombre de petits fichiers, tous doivent absolument être envoyé sur la machine2 (si possiblement le plus rapidement possible et sans en oublier )
Sachant que ce script se déclenche a chaque IN_CLOSE_WRITE,IN_CREATE dans le repertoire surveillé, j'ai du écarté le rsync (pour des raison de concurrence)
Je me demandais s'il n'y avait pas d'autre moyens que le "scp -C" ou le "tar-pipé" de faire ceci car avec un grand nombre de petits fichiers ca devient un peu lourd.
Merci.
Bien à vous,
Jack