2017-05-06 225 views
0

我在嘗試使用ftp腳本,該腳本在同一連接內的不同文件夾中發送文件,但在下面的腳本中沒有運氣。使用shell腳本在不同文件夾中的FTP文件

#!/bin/bash 
HOST_NAME=host.server 
username= user_name 
passwd= password 
remote = /path_to_remote/folder 
local = /path_to_local/folder 
folder=$1 
pwd 
ftp -in <<EOF 
open $HOST_NAME 
user $username $passwd 
cd local/ 
lcd remote/ 
put a_filename_<timestamp>.txt 
mkdir $remote/$folder 
cd $remote/$folder 
lcd $local/$folder 
put b_filename.txt 
close 
bye 

除此之外,在運行時,是否可以只發送最近10分鐘內創建的最新文件?

+0

重新「*這個腳本觸發前10分鐘*」:由「*這個腳本*」意味着什麼的' bash'部分,(即整個腳本)還是'ftp'部分? – agc

+0

每當上面的shell腳本觸發時,它需要在10分鐘之前生成的FTP文件。 例如:如果腳本計劃觸發@ 6AM,則此腳本必須ftp 5:50 AM之後生成的文件。 –

+0

請看看:http://www.shellcheck.net/ – Cyrus

回答

0

試試這個:

#!/bin/bash 
HOST_NAME=host.server 
username=user_name 
passwd=password 
remote=/path_to_remote/folder 
local=/path_to_local/folder 
folder="$1" 
pwd 
ftp -in <<EOF 
open "$HOST_NAME" 
user "$username" "$passwd" 
cd local/ 
lcd remote/ 
put a_filename_<timestamp>.txt 
mkdir "$remote/$folder" 
cd "$remote/$folder" 
lcd "$local/$folder" 
put b_filename.txt 
close 
bye 
EOF 

注:

  1. 外殼不允許空格旁邊=

  2. 引用變量。

  3. OP代碼缺失關閉EOF

我已經離開獨自<timestamp>,那將會是一種不同的Q.

+0

主機服務器處於離線狀態。我會測試n更新.. 是否有任何可能的條件發送最新文件生成10分鐘之前,此腳本觸發?? –

相關問題