As you are scheduling your job to run with your user, I don't think it is a permissions related problem. But maybe the env. vars do matter, including any needed to get to your stored password.
Once you get to stderr you'll probably have a clue about what is happening. If not, from your perl script print the environment vars, and reproduce that in an interactive shell. If it doesn't work, there you have it. Now you would only need to compare this to a "normal" shell, and make small modifications until you make it work.
I've been struggling all morning with what should be a very simple problem.
I would like to commit and update a svn repository daily using cron. I've
encapsulated my svn calls into a perl script, which runs the following
print "To run svn commit\n";
system "cd ~/docs; /usr/bin/svn commit --message '$thetime' \n";
system "cd ~/docs; /usr/bin/svn info \n";
The whole thing is >> to a file in my /tmp directory for monitoring.
The script works fine if I run it manually.
In the monitoring file, I see the correct output from svn info after the
cronjob, but it looks like the "svn commit" never runs. I don't see any output
from it and the revision never changes.
To run svn commit
Repository Root: svn://xxremoved
Repository UUID: xxremoved
Node Kind: directory
Last Changed Rev: 487
Last Changed Date: 2011-03-06 04:42:01 -0800 (Sun, 06 Mar 2011)
(I do have some file changes there to force a commit)
Does anyone know why svn info would work while svn commit would not?