Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a script that looks like:

notify-send "hi welcome"

My crontab notification for 2 PM:

0 14 * * * home/hacks/

However, this doesn't work. What is the problem?

share|improve this question

Your script is missing a #! line at the start, which is the magic interpreted by the kernel to say which command interpreter is to be used for the script.

Make it look like this:

notify-send "hi welcome"

and make sure the script is executable:

ls -l home/hacks/
chmod +x home/hacks/
ls -l home/hacks/

Also, since you're asking for this to happen just once a day, is the timezone of the crontab the same as your own timezone? You might find this happening at 2pm GMT.

share|improve this answer
+1 for good info – mrduclaw Dec 10 '09 at 10:22
+1 This answer is awesome - particularly noting the point about the script needs to being executable! Thanks! – FXQuantTrader Jan 9 '15 at 6:10

Making crontab running is easy only . Here I am going to say how to run crontab jobs. It is useful for anyone who is stuck on crontab.

*/1 * * * * cd /home/hacks && sh

To make the script executable, we have to do:

chmod +x home/hacks/

Here i run this script for every one minute ... By doing below script, you can write it in a log file to find whether its working

write log

*/1 * * * * cd /home/hacks && sh>>test.log

send mail

*/1 * * * * cd /home/hacks && sh>>test.log | mail -s "Hi this is example"
share|improve this answer
isnt that "*/1 * * * * sh /home/hacks/" will also work ? – user1179459 Sep 25 '15 at 1:14

4 hypothesis:

  • the cron daemon is not running (do a ps axfww | grep cron and check)

  • the notify-send is trying to send output to a terminal, or an X session -- but it is ran from within the cron environment and it does not know "who to talk to", so to speak.

  • your script is not executable

  • the home/ path in the crontab script is relative to the user the scripts gets executed as. Try using the full path

share|improve this answer

Add export DISPLAY=:0 above the notify-send line in your script. This addresses lornezog's second point.

share|improve this answer

You have to open crontab by the following command:

crontab -u username -e (to edit) -l(to list) -r(to remove) 10(minutes) 8-15(hours) *(Day of month) *(month) 1,3,5(days of week) /path/to/script/

This will run your script once an hour from 8AM-3PM at 10 minutes past the hour every Monday, Wednesday and Friday.

share|improve this answer

First of All, we need to edit the crontab with Command crontab -eand than Inside this Crontab add the Path of Executable script and in your Case like this * 14 * * * home/hacks/ >/dev/null 2>&1 .

Start /Stop / restart cron service

  • /etc/init.d/crond start /stop / restart
  • service crond start /stop /restart
  • systemctl stop crond.service

systemctl stop crond.service

share|improve this answer

Your Answer


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.