running rsync version 3.0.7 (also tried rsync-HEAD-20100501-0829GMT) debian lenny amd64, if i call a shell script with the content:
rsync -a -e 'ssh -i /home/mapsync/.ssh/id_rsa' --bwlimit=1221 --files-from=/tmp/tf2maplist --no-relative / email@example.com:/home/mapsync/tf2maps
Everything runs great from a shell. /tmp/tf2maplist is a file which contains one line at a time the location of all the .bsp files found in /home, here is a snippet from /tmp/tf2maplist:
When run from the root crontab this error occurs:
rsync: change_dir "/root/home/user1/srcds_l/orangebox/tf/maps" failed: No such file or directory (2)
How do i stop rsync from prepending /root/ to the front of every line when run from cron? Thanks!
*** Bug 7426 has been marked as a duplicate of this bug. ***
you mean, running this from the root user`s shell works but behaves differently from the root crontab ?
you should check what differences exist in the environment when running from cron.
typically, inside cron the environment is different from the shell one and also more minimalistic, so you may have a different $PATH and perhaps it`s a completely different rsync you are using (if there is more then one on your system)
i recommend adding "set >/tmp/printenv_from_xyz.txt;which rsync >>/tmp/printenv_from_xyz.txt" and produce two files, one from a manual run and one from cron - and compare these for differences.
if you don`t get a clue, you may upload them here, maybe some other person get`s a clue....
I not seeing how rsync could prefix something other than the source arg that was specified on the command-line. Is the cron command specifying /root or "~" instead of "/"?
If you have more information that indicates that this is an rsync issue, feel free to supply it. Otherwise, I'm closing this.