请注意:由于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脚本出了什么问题?
答案 0 :(得分:0)
尸体将从&#39; -r&#39;指定的文件中获取命令。 flag ...它将从你家里的文件中提取凭证,名为.netrc
在您的家中创建一个.netrc文件
advertised.listeners
..并用这个打电话给尸体:
machine webdav.yandex.com
login MyUserName
password MyPassword