我在用着
tar zcf - stuff | ssh user@server 'cat > data.tar.gz'
有没有办法在传输时分割文件?
像这样:
tar zcf - stuff | split -b 5G | ssh user@server 'cat > data-${part}.tar.gz'
答案1
是的,该命令被称为split
。
tar czf - stuff | split -b 5G -d -f 'ssh server "cat >$FILE"'
此选项是 Ubuntu 12.04 中的新增功能。在以前的版本中,split
只能拆分为文件,而不能拆分为命令。文件可以命名为管道,但组织命令以从管道读取很麻烦。
如果没有split -f
,更简单的方法是忘记使用命令。使用以下命令挂载远程文件系统SSHFS相反,这样您就可以像写入本地文件一样对其进行写入。
mkdir ~/net/server
sshfs user@server ~/net/server
tar czf - stuff | (cd ~/net/server && split -b 5G -d)
fusermount -u ~/net/server
您可能对合适的备份软件感兴趣,例如表里不一反而。