2017-06-14 5 views
0

J'ai cette exigence: Le client télécharge des fichiers CSV dans un dossier via SFTP. Wehn ces clients complets téléchargeront un fichier "trigger" pour indiquer que le téléchargement est terminé. J'ai essayé d'utiliser inotifywait pour attendre ce fichier de déclenchement puis télécharger tous les fichiers csv et ce fichier "trigger" sur un autre serveur ftp dans la même séquence - ie. fichiers csv d'abord, puis le fichier de déclenchement. Mon script actuel télécharge simplement le fichier téléchargé sur le serveur FTP et ignore le reste. Mon bash n'est pas extraordinaire mais je suis en train ....Inotfiy à regarder pour un téléchargement de fichier spécifique, puis télécharger tous les fichiers dans la même séquence via ftp

#!/bin/bash 
HOST='192.168.1.100' 
USER='TESTUSER1' 
PASSWD='password1' 
FILE='\*\.csv' 
TRIGGER='trigger.txt' 

while TRIGGER=$(inotifywait --format '%f' -e close /home/testuser1/uploads/); do 

ftp -n $HOST << EOT 
user $USER $PASSWD 
cd /home/testuser1/sftptest/ 
put $FILE 
put $TRIGGER 
quit 
EOT 

done 
rm /home/testuser1/uploads/*.* 
+0

changement mis à mPUT. Merci – stark

+0

Stark, qui a réglé le multiple fichier mais le script télécharge toujours les fichiers csv et n'attend pas le fichier "trigger" à télécharger ..... –

+0

Pourquoi changez-vous TRIGGER? – stark

Répondre

0

j'ai changé alors TRIGGER = $ (inotifywait --format '% f' -e fermer/home/testuser1/uploads/ à: tandis que TRIGGER = $ (inotifywait --format '% f' -e près /home/testuser1/uploads/trigger.txt

simple erreur