[SHELL] incrontab + scp/rsync

incrontab + scp/rsync [SHELL] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 23-02-2011 à 15:52:57    

Bonjour
 
 
Je suis en train d'écrire un script qui est déclenché par incrontab
 

Code :
  1. [root@machine ~]# cat /etc/incron.d/bench.conf
  2. /tmp/generated/ IN_CLOSE_WRITE,IN_CREATE /root/envoi_vers_machine2.bash $@ $# machine2 /tmp/received_bench/
  3. [root@machine ~]# cat /root/envoi_vers_machine2.bash
  4. #!/bin/bash
  5. #set -x
  6. FILE_DIR=$1
  7. FILE=$2
  8. DEST_SERV=$3
  9. DEST_DIR=$4
  10. logger -plocal1.notice -t ${0##*/}[$$] "scp -C $FILE_DIR/$FILE $DEST_SERV:$DEST_DIR"
  11. #scp -C $FILE_DIR/$FILE $DEST_SERV:$DEST_DIR 2>&1
  12. #/usr/bin/rsync --remove-sent-files -az -e "/usr/local/openssh/bin/ssh" /tmp/generated/ root@machine2:/tmp/received_bench/
  13. #tar czf - * | ssh  root@machine2 "cd /tmp/received_bench/ && tar xzf -"
  14. if [ $? -eq 0 ]; then
  15.     logger -plocal1.notice -t ${0##*/}[$$] "Transfer $FILE_DIR/$FILE successfully complete"
  16. else
  17.     logger -plocal1.error -t ${0##*/}[$$] "Transfer $FILE_DIR/$FILE Failed"
  18. fi
  19. 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 :p)
 
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

Reply

Marsh Posté le 23-02-2011 à 15:52:57   

Reply

Marsh Posté le 26-02-2011 à 14:05:01    

Je m'étais posé une question assez proche ici et BlackLord m'avait justement indiqué la méthode utilisé par Tweeter, basé sur murder.
Soucis c'est du Ruby, et ça utilise bittorrent comme protocole, donc loin de ton scriptage shell.
 
Là je dirais que le scp serait la meilleure méthode, en tar le soucis c'est qu'il faudra décompressé l'archive après chaque transfert donc bof.


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed