I want to sync a folder from my machine with a folder on a remote machine. The remote folder can only be manipulated by root
. I have an account on the remote machine which can use sudo
. How can I run rsync such that it has root permissions on the remote machine?
I've tried the following:
rsync -avz -e ssh /home/ubuntu/my/lovely/folder ubuntu@x.x.x.x:/remote/lovely/folder --delete --rsync-path="sudo rsync"
But (after entering my password) I get the following error:
sudo: no tty present and no askpass program specified
Answer
This is the solution I came up with:
rsync -R -avz -e ssh --rsync-path="echo mypassword | sudo -S mkdir -p /remote/lovely/folder && sudo rsync" /home/ubuntu/my/lovely/folder ubuntu@x.x.x.x:/remote/lovely/folder --delete
Bit of a mission!
No comments:
Post a Comment