我理解保留rsync的权限。但是在我的情况下,本地计算机没有文件所需的用户用于web服务器。因此,在rsync时,我需要所有者和组在web服务器上为apache,但在我的本地计算机上为我的用户名。有什么建议吗?
我想澄清一下以准确说明我需要完成的任务。
我的个人计算机:命名为“home”,使用者账户为“michael”
我的Web服务器:命名为“server”,使用者账户为“remote”和“apache”
当前情况:我的网站在“home”上,拥有者为“michael”,在“server”上,拥有者为“apache”。 'home'需要使用用户'michael','server'需要使用用户'apache'
任务:将“home”上的我的网站rsync到“server”,但所有文件的拥有者都是'apache',组是'apache'
问题:rsync将保留权限、所有者和组;但是,我需要所有文件的所有者为apache。我知道不保留所有者会将'user on server'的所有者放置在服务器上,但由于该用户是'remote',因此它使用该用户而不是'apache'。我不能使用用户'apache'进行rsync(这很好),但这是我不愿意打开的安全风险。
我唯一的解决方法是在每次rsync之后手动使用“chown -R”和“chgrp -R”,但这是一个巨大的系统,而且需要很长时间,特别是因为这将进入生产。
有人知道如何做到这一点吗?
我当前用于rsync的命令:
rsync --progress -rltpDzC --force --delete -e "ssh -p22" ./ remote@server.com:/website