标签: rsync

在远程 rsync 服务器上强制执行 sudo

我正在设置rsync将文件从 ServerA 传输到 ServerB,并且需要保留时间戳和权限。他们在这里的关键是文件由与执行文件传输的帐户不同的帐户拥有。

rsync 使用以下示例传输文件:

rsync -a /colorschemes/ acoder@bu.my.box.net:/colorschemes/ --delete
Run Code Online (Sandbox Code Playgroud)

-a标志产生以下类型的错误:

rsync: failed to set times on "/colorschemes/946/ex": Operation not permitted (1)
rsync: failed to set permissions on "/colorschemes/946/ex/blue.pdf": Operation not permitted (1)
Run Code Online (Sandbox Code Playgroud)

在远程系统上,当尝试手动设置文件权限时,acoder 帐户有类似的错误:

[acoder@bu ~]$ chown apache:codingteam /colorschemes/946
chown: changing ownership of ‘/colorschemes/946’: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

不过,这可以正常工作:

[acoder@bu ~]$ sudo chown apache:codingteam /colorschemes/946
Run Code Online (Sandbox Code Playgroud)

有没有办法让远程 rsync 使用 sudo?

permissions sudo rsync

0
推荐指数
1
解决办法
3778
查看次数

主目录文件权限搞砸了,我如何“重新开始”?

我使用 rsync 备份了我的整个主目录,并将备份移动到新安装的 Linux。不知何故,我的文件权限完全搞砸了(所有文件都归用户“999”所有,文件权限设置为777)。

我跑了快sudo chown -R username:username ~/固定我与我的声音有一些问题,但现在我所有的纯文本文件(甚至是电影和音乐)被标记为可执行文件,其他用户可以查看我的文件等。

如何将我的文件权限恢复到“正常”状态?从备份恢复是不可能的,因为备份也搞砸了权限。我总是可以重新安装我的操作系统并从备份中清除配置文件,只留下个人文档,然后我可以递归地为其设置权限,但是我应该将权限设置为什么?一个sudo chmod -R 660 ~/Music如让我不能听我的音乐,即使我的主人。

permissions rsync

0
推荐指数
1
解决办法
3730
查看次数

用 `scp` 或 `rsync` 中的标志定义目标目录(如 `cp -t`)

由于我经常通过网络将不同数量的特定文件复制到(相当复杂的)目标目录中,如果我可以使用cp's-t标志,我的生活会容易得多:有了它,您可以指定目标目录“在开始”——而不是作为最后的论点。

这样,我可以CTRL-R先复制命令,然后再CTRL-W复制以前复制的文件,而不管之前有多少文件,始终保留(复杂的)设置和目标目标系统和目录。

但是我找不到任何合适的标志,无论是 forscp还是 for rsync。(如果其中一个提供此选项,我会使用其中之一。)

scprsync提供类似的东西cp -t

在绝望中,我什至玩弄了bash的历史控制,尤其是参数提取机制:不幸的是,似乎不可能以“第x个参数到最后一个参数”的形式指定范围。but-one”,这是我需要的,因为我并不总是有参数的数量(除非我计算......)。

bash scp cp rsync

0
推荐指数
1
解决办法
220
查看次数

使用 `-u` 和不使用 rsync 有什么区别?

从联机帮助页rsync

-u, --update
Run Code Online (Sandbox Code Playgroud)

这会强制 rsync 跳过目标上存在且修改时间比源文件更新的任何文件。(如果现有目标文件的修改时间等于源文件的修改时间,并且大小不同,则它将被更新。)请注意,这不会影响目录、符号链接或其他特殊文件的复制。此外,发送者和接收者之间的文件格式差异始终被认为对于更新来说足够重要,无论对象上的日期是什么。换句话说,如果源有一个目录,而目标有一个文件,则无论时间戳如何,传输都会发生。此选项是传输规则,而不是排除,因此它不会影响进入文件列表的数据,因此不会影响删除。它只是限制接收者请求传输的文件。

没有-u

Rsync 使用“快速检查”算法(默认情况下)查找需要传输的文件,该算法查找大小或上次修改时间已更改的文件。当快速检查表明文件的数据不需要更新时,将直接在目标文件上对其他保留的属性(根据选项的请求)进行任何更改。

您能指出使用-u和不使用之间有什么区别吗?

是否-u决定要传输的文件比没有传输的文件少-u,因此传输时间是否-u比没有传输的时间更长-u

谢谢。

rsync

0
推荐指数
1
解决办法
1858
查看次数

按字母顺序排列的第一个文件未使用 rsync 复制

我使用以下命令将一个目录的内容完整、递归地复制到另一个目录中:

rsync -avzhe /path1/to1/dir1/* /path2/to2/dir2/

它按照我的预期工作,除了第一个文件(按字母顺序排列),无论是目录还是文件,都不会被复制。所有其他文件都会被复制。为什么 ?

如果重要的话,我的操作系统是 MacOS 10.14.6。

rsync

0
推荐指数
2
解决办法
565
查看次数

rsync 没有按照我想要的方式创建目标文件夹

我有以下文本文件

...
/a/b/c/f1
/a/b/c/f2
...
/a/b/c/d1
...
Run Code Online (Sandbox Code Playgroud)

其中f1f2是文件,而d1是目录。我想将确切的层次结构复制到我的目标文件夹 ( /z) 中。

使用 bash,对于lr从文本文件读取的每一行,我的脚本都会运行(为了简单起见,我省略了这些选项)

rsync $lr/ /z/$lr

该文件夹被正确复制,因为我获得了/z/a/b/c/d1. 不幸的是,对于文件结果

/z/a/b/c/f1/f1
/z/a/b/c/f2/f2
Run Code Online (Sandbox Code Playgroud)

rsync如何对文件和目录使用上述相同的调用来解决这个问题?

linux shell bash rsync

0
推荐指数
1
解决办法
2599
查看次数

标签 统计

rsync ×6

bash ×2

permissions ×2

cp ×1

linux ×1

scp ×1

shell ×1

sudo ×1