Wednesday, December 30, 2015

How to tell rsync do not check permissions



I have two directories with same PHP application in every of them. I want to execute rsync -rvz from one, source directory to another, destination, so rsync will copy changed files only. Problem is that files in the source directory has 755 permissions, by mistake. Permissions in destination are fine.




How can I tell to rsync ignore permission checkings and check by size only?
Thanks.


Answer



As long as you don't supply the -p flag permissions shouldn't be changed. If you're still not getting the permissions you expect make sure perms is off and use --chmod=ugo=rwX



For reference:
http://linux.die.net/man/1/rsync



 -r, --recursive             recurse into directories

-v, --verbose increase verbosity
-z, --compress compress file data during the transfer
-n, --dry-run perform a trial run with no changes made

-p, --perms preserve permissions
-E, --executability preserve executability
--chmod=CHMOD affect file and/or directory permissions




-p, --perms This option causes the receiving rsync to set the destination permissions to be the same as the source permissions. (See
also the --chmod option for a way to modify what rsync considers to be
the source permissions.)




The man page goes on to say:




In summary: to give destination files (both old and new) the source
permissions, use --perms. To give new files the destination-default

permissions (while leaving existing files unchanged), make sure that
the --perms option is off and use --chmod=ugo=rwX (which ensures that
all non-masked bits get enabled).




Side-note: If possible it might make more sense for your developer to be pushing their changes back into the repo, and have all servers use a code repo, rather then use rsync to ship files form one server to the other.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...