2017-05-06 144 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分钟之前,此脚本触发?? –

相关问题