尸体bash脚本上传

时间:2016-02-21 00:53:43

标签: bash shell webdav cadaver

请注意:由于StackOverflow的限制,我需要在URL中插入一些空格。

我有一个FreeBSD服务器。我需要将以前的tar.gz数据库备份到WebDav云存储上,如Yandex Disk或Box.com或4Shared。

使用Putty,命令行后命令行,一切正常。我可以在Yandex磁盘上传我的文件:

%cadaver  
dav:!> open https://webdav.yandex.com  
Authentication required for Yandex.Disk on server `webdav.yandex.com':
Username: MyUserName
Password:
dav:/> put MyFile.tar.gz
Uploading MyFile.tar.gz to `/MyFile.tar.gz':  
Progress: [=============================>] 100.0% of 1229518 bytes succeeded.
dav:/> exit  
Connection to ` webdav . yandex . com' closed.  
%

但是,我的bash脚本无法上传我的文件。

这是我的bash脚本“criptdav.sh”:

#!/bin/sh

/usr/local/bin/cadaver < datadav

这是我的“datadav”文件:

open https:// webdav . yandex . com  
MyUserName  
MyPassword  
put MyFile.tar.gz  
exit

这是我的bash脚本的Putty截图:

%sh scriptdav.sh  
dav:!> open https://webdav.yandex.com  
Authentication required for Yandex.Disk on server `webdav.yandex.com': 
Username: MyUserName
dav:/> 
Connection to `webdav.yandex.com' closed.  
%

Nota Bene:

我尝试使用Yandex,Box,4Shared。结果相同。脚本无法上传我的文件。

问题:

我的bash脚本出了什么问题?

1 个答案:

答案 0 :(得分:0)

尸体将从&#39; -r&#39;指定的文件中获取命令。 flag ...它将从你家里的文件中提取凭证,名为.netrc

在您的家中创建一个.netrc文件 advertised.listeners

..并用这个打电话给尸体: machine webdav.yandex.com login MyUserName password MyPassword