【问题标题】:FTP filemove in shell scriptshell脚本中的FTP文件移动
【发布时间】:2013-06-05 11:07:52
【问题描述】:

我需要使用 Shell 脚本将文件从一台服务器移动到另一台 FTP 服务器。

#!/bin/sh
HOST='ftp.server.com'
USER='username'
PASSWD='password'
FILE='"/a/b/test.sh"'
DIR='/x/y/'

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd $DIR
put $FILE
quit
END_SCRIPT
exit 0

我的问题是,

我需要从服务器中选择一个文件并将其放入 FTP 的特定位置。我的原始文件位于/a/b/test.sh 路径中。那应该移动到 FTP 的/x/y 路径。

我错过了什么......我是 shell 脚本的新手。

【问题讨论】:

    标签: shell ftp


    【解决方案1】:

    尝试使用lcd 命令更改本地计算机上的工作目录。

    类似这样的:

    #!/bin/sh
    HOST='ftp.server.com'
    USER='username'
    PASSWD='password'
    LOCALPATH='/a/b/'
    FILE='test.sh'
    DIR='/x/y/'
    
    ftp -n $HOST <<END_SCRIPT
    quote USER $USER
    quote PASS $PASSWD
    cd $DIR
    lcd $LOCALPATH
    put $FILE
    quit
    END_SCRIPT
    exit 0
    

    【讨论】:

    • 如果我有 2 个文件,例如 '/a/b/test.sh' 和 '/a/b/test1.sh',那么将这两个文件移动到FTP..?
    • 一种选择是使用FILE1='test.sh'FILE2='test2.sh'. Then put $FILE1` 和put $FILE2。如果 FTP 服务器支持,第二个选项是使用 mput 命令。
    • 谢谢.. 如果文件名是动态生成的,那么我们可以循环 /a/b/ 目录并移动到 ftp.. 吗?如果是这样,应该改变什么?ftp -n $HOST
    • 您可以使用mput FTP 命令。请查看mput FTP 命令的参考/帮助。
    猜你喜欢
    • 2013-12-18
    • 1970-01-01
    • 2013-11-16
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多