Bug 7425 - --files-from= broken when run from crontab
Summary: --files-from= broken when run from crontab
Status: RESOLVED WORKSFORME
Alias: None
Product: rsync
Classification: Unclassified
Component: core (show other bugs)
Version: 3.0.7
Hardware: x64 Linux
: P3 major (vote)
Target Milestone: ---
Assignee: Wayne Davison
QA Contact: Rsync QA Contact
URL:
Keywords:
: 7426 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-05-13 01:19 UTC by Joshua Smith
Modified: 2011-02-22 09:06 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joshua Smith 2010-05-13 01:19:53 UTC
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 / mapsync@foo.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:

/home/user1/srcds_l/orangebox/tf/maps/cp_generator_b4b.bsp
/home/user2/srcds_l/orangebox/tf/maps/cp_orange_n5_final.bsp

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!
Comment 1 Matt McCutchen 2010-05-13 11:45:58 UTC
*** Bug 7426 has been marked as a duplicate of this bug. ***
Comment 2 roland 2010-08-22 05:47:21 UTC
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....
Comment 3 Wayne Davison 2010-12-18 14:59:39 UTC
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 "/"?
Comment 4 Wayne Davison 2011-02-22 09:06:03 UTC
If you have more information that indicates that this is an rsync issue, feel free to supply it.  Otherwise, I'm closing this.