1

我想将 tar 文件同时上传到远程 ftp。但是这段代码不起作用。

tar cvzf - /备份 | openssl aes-256-cbc -salt -k "密码" | 分割-b 100m | curl -u 用户:密码 ftp.site.com/backup.tar -T -

4

1 回答 1

0

尝试在跑步之前步行,我的意思是,在将它们链接到管道之前了解每个单独的命令。

我看到的第一个问题是使用 split - 它不会在 stdout 上产生任何输出,因为它的工作是将输入拆分为files。所以它只是写入你当前的工作目录,而不是卷曲。这些多个文件将需要以不同方式处理。

所以你的单行命令:

tar cvzf - /backup | openssl aes-256-cbc -salt -k "password" | split -b 100m | curl -u user:password ftp.site.com/backup.tar -T -

需要翻译成这样的循环:

tar cvzf - /backup | openssl aes-256-cbc -salt -k "password" | split -b 100m - bkup
for file in bkup*
do
    curl -u user:password ftp.site.com/$file -T $file
done
于 2014-04-07T20:48:58.340 回答