Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a crontab file that looks like this:

* * * * * /home/abliskovs/update/update.sh

However when I check the syslog for evidence that the job has run, there is nothing that might indicate that it ever ran. How can I check if it's running?

crontab -l outputs the following:

* * * * * /home/abliskovs/update/update.sh

share|improve this question
    
Please edit your question to include the output of crontab -l. –  htorque Jan 6 '12 at 19:54
    
OK, I've done that. –  Alex Bliskovsky Jan 7 '12 at 18:18
    
Maybe a dumb question, but it happened to me before so I will ask anyways. Make sure that the cron daemon is actually running! :P Second guess is permissions, make sure it is executable by the user running the cronjob. –  Mattias Ahnberg Jan 19 '12 at 22:38
    
You should accept an answer of your question. –  Md. Mahbubur Rahman Mar 7 at 3:45
add comment

3 Answers

up vote 7 down vote accepted

Add a >>/tmp/testlog.log to the end of your crontab entry (to redirect output to a file you can investigate or check if it's running, additionally a 2>&1 would include output from the error console)

Example

0 * * * * /home/abliskovs/update/update.sh 2>&1 /tmp/testlog.log

Also Make Sure the followings :

  • Add cronjobs in a right manner. if you've used crontab -e within your own account, scripts are run with your user (and thus the crontab entry has one field less -- the user to run it, as that is known). If you simply copied your above snipped to /etc/cron.d, it would fail as you didn't specify a user (or rather as it finds no user named "bash").
  • Make sure that the script file is executable, otherwise it will not execute it.
  • Reload the cron jobs sudo service reload, or restart cron service sudo /etc/init.d/cron restart

How to make a file executable?

Several ways to make your file executable

chmod +x /home/abliskovs/update/update.sh 

chmod -R 0755 /home/abliskovs/update/update.sh

chmod a+x /home/abliskovs/update/update.sh
share|improve this answer
add comment

The shell script update.sh probably contains errors, for example some commands that can not be executed because the command can not be found. In this case it may help to add the path to your command in the PATH variable, or to add it in front of your command directly. It also helps to specify the MAILTO e-Mail address, e-Mails which result from executing Cronjobs are sent to this address

PATH=/path/to/your/command:/another/important/path
MAILTO=my_name@my_domain 

You also may check the local mailbox with mail and the syslog file in /var/log/syslog for errors. See also this related question why cronjobs may not work.

share|improve this answer
add comment

Make sure that the script file is executable {chmod 755} otherwise it will not execute it

share|improve this answer
    
To make a file executable, you can also run chmod +x filename –  Stefano Palazzo Jan 21 '12 at 16:45
add comment

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.