I get a bunch of error messages when I run crontab -e
Here are the error messages.
And here is my crontab file under `/usr/bin/':
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
30 * * * * root rsync /home/dnaneet/Downloads/*.pdf /home/dnaneet/Downloads/pdfs/
#
I notice that the last task ('rsync') NEVER RUNS! Why is this happening? What did I do wrong?
Running Ubuntu 11.10/Bash. I have read this... Am I missing a shebang? And I don't know if my anacron jobs run.
Edit 1
In light of Masi's comment, I commented out lines 17 thru 25 of my crontab file with #
.
Now when I run sudo crontab -e
, all I get is:
/usr/bin/crontab: 11: 17: not found /usr/bin/crontab: 12: 25: not found (gedit:4301): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel', but failed: Failed to create
file '/root/.local/share/recently-used.xbel.GOHVBW': No such file or directory
(gedit:4301): Gtk-WARNING **: Attempting to set the permissions of `/root/.local/share/recently-used.xbel', but failed: No such file or
directory
What in the world?
/usr/bin/crontab
is the command used for editing your user crontab. Looks like you've overwritten thecrontab
command with a crontab config file. The file you should be changing is/etc/crontab
, not/usr/bin/crontab
.To fix, reinstall the cron package (
sudo apt-get --reinstall install cron
), then make your changes in/etc/crontab
.Your crontab entry looks quite correct though, just in the wrong file.
EDIT Given that your cronjob only copies files within your own homedir, you might as well have it run as your user. If you want to use the systemwide crontab, put the following line in
/etc/crontab
Though I'd just use the personal crontab, which you edit using the
crontab
command. In this case the line should be:After you have done either change, that rsync command should run once an hour, at 00:30, 01:30, 02:30, 03:30, etc...
The format of your crontab file seems to be wrong. You are using spaces instead of tabs there. Please, see this.
Please, run the trivial example crontab file and see what happens. Then apply the similar changes about the format one by one to your file.
What is the command test? Do you have it in your PATH?
Not sure if that's the problem, but maybe you want to try putting the * in quote for rsync:
rsync /home/dnaneet/Downloads/'*.pdf' /home/dnaneet/Downloads/pdfs/