Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to run rsync to copy files (Centos 5.2 -> Centos 5.2) and I need run using nohup it so it can run after I disconnect my ssh session. The problem is I cannot get rsync to not prompt for a passowrd, and I cannot get nohup to play nice with the password prompt.

rsync -v -r -x --password-file=/root/password.txt /sourcedir/ root@10.1.1.1:/destdir

I've tried both setting the RSYNC_PASSWORD variable to the password and creating a file with the password and using --password-file, but in both those case I still get the prompt asking for the password.

How do I give rsync the password it needs to it will run happily?

share|improve this question

3 Answers 3

You can use public/pricate key authentication.

Generate a pair public/private key with

ssh-keygen -t dsa

then copy dsa.pub into .ssh/authorized_keys file in your home directory in the destiny host.

share|improve this answer
2  
Mandatory reading: ibm.com/developerworks/library/l-keyc.html –  Ignacio Vazquez-Abrams Jul 6 '10 at 8:52

The problem is that RSYNC_PASSWORD as well as --password-file only is applicable when connecting directly to a rsyncd server, not when spawning rsync using a remote shell such as ssh. Your choices are, depending on the data you are transferring, to either to setup password-less ssh keys or to start using a rsyncd daemon instead.

(Note that if you connect directly to a rsyncd then your data will be transfered unencrypted.)

share|improve this answer

Alternatively you could use screen instead of nohup. It works like this :

  • type screen
  • you will be presented with a new terminal
  • start you're command that will take forever, the rsync command in your case.
  • disconnect from your screen terminal with ctrl-a, followed by d
  • you can exit now or do other stuff, your screen terminal will go on doing your stuff
  • you can reconnect to screen, by typing screen -r, this alose works from another tty or ssh connection or whatever.
share|improve this answer
1  
Or you could just use a ssh key. –  Ignacio Vazquez-Abrams Jul 6 '10 at 9:34
    
There are instances where we must backup or otherwise automate file transfers from systems which are legacy, or for whatever reason do not support SSH keys. –  Charlie S Dec 11 '12 at 20:59

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.