0

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

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

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

%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.  
%

注意事项:

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

问题:

我的 bash 脚本有什么问题?

4

1 回答 1

3

cadaver将从-r标志指定的文件中获取命令,并将从您的主目录中名为的文件中提取凭据.netrc

在您的家中创建一个 .netrc 文件,其中包含此文件

machine webdav.yandex.com
login MyUserName
password MyPassword

并用这个调用尸体:

cadaver -r datadav https://webdav.yandex.com
于 2018-05-29T01:09:03.757 回答