自动 FTP 脚本未找到源目录

自动 FTP 脚本未找到源目录

如何修改下面的脚本以包含源目录,以便它知道在哪个位置检索传输所需的文件?

我有一个 bash 脚本,用于自动将文件传输到远程服务器,每周发生一次。

这是脚本:

#!/bin/bash

HOST=sftp.mydomain.com  
USER=user           
PASS=pass          

ftp -inv $HOST << EOF
$USER $PASS
cd /d D:\destination\directory
put file1.gz
put file2.gz
put file3.gz

bye

EOF

文件1-3都在源/目录中,所以我想将所有文件从源/目录传输到上面指定的目标路径。

但是,我相信因为脚本在源虚拟机上运行,​​所以我不需要指定目录,因为脚本可以简单地从任何文件夹中提取它(我理解新手错误)。

或者:是否有更简单的方法对整个目录使用 ftp,而不是简单地列出文件夹的全部内容?

答案1

要更改进程将哪个目录ftp视为源,可以是cd事先的目录,也可以是lcd其中的目录:

1.

cd /source/directory
ftp ...

2.

ftp ...
lcd /source/directory
...

lcd(从man ftplocal change directory是;的缩写它会:

更改本地计算机上的工作目录。

这里的“本地”是指您运行的系统ftp

要将当前本地目录中的所有文件放到 ftp 中的当前远程目录中,请使用:

prompt
mput *

FTPprompt命令在“多个”操作(例如mget或 )期间禁用交互式提示mput。引用自FTP 手册页(或查看您当地的man ftp):

多个文件传输期间会出现交互式提示,以允许用户有选择地检索或存储文件。

相关内容