我想将tar文件同时上传到远程ftp。但是这段代码不起作用。
tar cvzf - / backup | openssl aes-256-cbc -salt -k“password”|分裂 -b 100m | curl -u user:密码ftp.site.com/backup.tar -T -
答案 0 :(得分:0)
在跑步之前尝试走路,我的意思是,在将它们链接到管道之前理解每个单独的命令。
我看到的第一个问题是使用split - 它不会在stdout上产生任何输出,因为它的工作是将输入分成文件。所以它只写入你当前的工作目录,而不是卷曲。这些多个文件需要以不同的方式处理。
所以你的一行命令是:
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