我有如下要求:的Unix shell腳本獲取多個文件,在不同的時機
我有一個java程序寫入大量文件到UNIX文件夾中的日常,但下面的文件使用UNIX Shell腳本
需要SFTP到不同的文件夾TestSD20121016.csv(它在16:00 P.M每天寫入文件到UNIX文件夾) TestSP20121016.csv
腳本。我寫如下(它在17:00 P.M每天寫入文件到UNIX文件夾):
#!/bin/sh
#------------------------------------------------------------------------
# Parameters
# sftp_file_uploads.sh remoteServer functionalId
#------------------------------------------------------------------------
REMOTE_SERVER=$1
FUNCTIONAL_ID=$2
FILE_TO_UPLOAD= ls -lrt TESTSD`date "+%Y%m%d"`*.CSV | awk '/TEST/{ f=$NF };END{ print f }'
#------------------------------------------------------------------------
# Create sftp script
#------------------------------------------------------------------------
rm -f /var/tmp/SFTP_FILE_UPLOAD
echo "lcd $3" > /var/tmp/SFTP_FILE_UPLOAD
echo "cd $5" >> /var/tmp/SFTP_FILE_UPLOAD
echo "put $FILE_TO_UPLOAD" >> /var/tmp/SFTP_FILE_UPLOAD
echo "bye" >> /var/tmp/SFTP_FILE_UPLOAD
#------------------------------------------------------------------------
# Do sftp
#------------------------------------------------------------------------
echo " Before SFTP " > /tmp/FILE_UPLOAD_LOG
/usr/bin/sftp -B /var/tmp/SFTP_FILE_UPLOAD [email protected]$1 1>/var/tmp/sftp.log 2>&1
result=$?
if [ $result -eq 0 ]
then
echo "SFTP completed successfully"
else
echo "FAILED to SFTP"
exit 1
fi
exit 0
問題是腳本能夠將文件TestSD20121016.csv而不是文件TestSP20121016.csv,我不知道如何編寫上面的腳本來做sftp第二個文件也。
問候,
Chaitu