I have created a script

 echo "tredor"

If I run it using command line, it works, but when I move it to being a cron job, it doesn't.

In crontab -e , I entered the following code

*/5 * * * *  root ./my_script

I expect to see an output "tredor" every 5 minutes but that is no happening. How can I modify my codes to be able to see output?

  • 1
    By using crontab -e and placing root as user in your crontbab will not probably work. Additionally you don't provide the full path to the script, except if you have expanded the path in crontab's file. You can check this question and it's answers here for some cron gotchas. Possible duplicate of askubuntu.com/q/337204/12218? – Stef K Aug 26 '13 at 12:08
  • Use the full path to your script in the crontab
  • make sure it is executable: sudo chmod +x my_script
  • You got the path to the interpreter wrong in the first line of your script: it should be #!/bin/bash
  • As steeldriver pointed out, you won't actually see any output
  • Since you used 7 columns for your cronjob, I assumed you used a system wide crontab (in the /etc/cron* dirs or /etc/crontab. Using crontab -e edits your user specific crontab!
|improve this answer|||||
  • On using the full path, it is in the root directory so isnt the availed data enough? – sosytee Aug 26 '13 at 11:55
  • 4
    All good points - you might want to add that the echo will not show up in the terminal anyway, since the standard output from cron jobs doesn't go there (by default, it is mailed to the invoking user iirc - if a suitable mail transfer agent is available). Otherwise output needs to be redirected to a file, either within the script or within the crontab e.g. /path/to/myscript >> /path/to/logfile. – steeldriver Aug 26 '13 at 12:00
  • @steeldriver has hit the main point, I should think. – simon Aug 26 '13 at 12:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.