rsync:mkstemp失败:权限被拒绝(13)

时间:2018-02-21 09:09:00

标签: sh rsync

我正在编写一个shell脚本,它具有以下命令,可以通过跳过某些文件将代码文件从远程服务器复制到本地服务器,但它会出现如下错误:

命令:

rsync -avz --delete --exclude=**/cache --exclude=**/administrator/cache/ --exclude=**/tmp --exclude=**/configuration.php -e ssh $REMOTE_USER@$REMOTE_SERVER:$REMOTE_PATH $LOCAL_PATH

错误:

1)rsync:mkstemp" /var/www/test.domainname/public/.sript.php.4FRyfv"失败:权限被拒绝(13)

2)rsync:mkstemp" /var/www/test.domainname/public/.access.txt.PECuqA"失败:权限被拒绝(13)

3)rsync:未能在" /var/www/test.domainname/public/administrator/components/com_bconnect"上设置时间:不允许操作(1) 管理员/组件/ com_bconnect /

4)rsync:mkstemp" /var/www/test.domainname/public/administrator/components/com_bconnect/.config.xml.8LWLWF"失败:权限被拒绝(13)

请你帮我解决4个以上的错误。

2 个答案:

答案 0 :(得分:1)

我刚刚以不同的形式遇到此错误,即尝试在远程服务器上的/ var / www / html中rsync 一个嵌套目录,并且没有写入权限/ var / www / html目录本身。在我的情况下,我的错误原因是由于rsync语法错误,但在您的情况下,您可能没有权限写入/ var / www。这是rsync尝试创建其临时文件的地方。

据我了解,您有两种选择:

使用     --temp-DIR  参数

使用      - 到位 参数。

这在rsync手册页中进行了解释,并且也是asked before

答案 1 :(得分:-1)

这基本上是一个远程/本地目录的权限问题,从该目录邀请数据。我再次以稍微不同的形式解决了该错误!我正在通过此将文件从本地ubuntu计算机发送到远程ubuntu计算机。

rsync -arvz -e 'ssh -p 64060' ./SE-D-20-00279R2.pdf yogender@<IP>:</path/to/destination>

我有相同的权限错误:

rsync: mkstemp "<path/of/the/file2/you/try/to/rsync>" failed: Permission denied (13)
....
....
....
rsync: mkstemp "<path/of/the/file2/you/try/to/rsync>" failed: Permission denied (13)

摆弄后,我找到了解决方案:

  1. 问题:接收者不知道发送者的许可 解决方案:需要使用sudo在接收方(大型计算机)上创建文件夹。

    sudo mkdir </path/to/directory/you/are/sending/file/to/remote/machine>
    
  2. 授予该文件夹的权限,该文件夹会将数据发送到该目录:

    sudo chown yogender </path/to/directory/you/are/sending/file/to/remote/machine>
    

yogender是管理员或用户。您可以通过在远程计算机上执行“ whoami”(从本地到远程发送数据时)来获得它

  1. 然后简单地:

    rsync -zaP -e 'ssh -p 64060' ./SE-D-20-00279R2.pdf yogender@147.32.99.72:</path/to/directory/you/are/sending/file/to/remote/machine>>