6

Am trying to create a cron job to open a web page at a scheduled time.

I have edited my cron using crontab -e and append my job. I wrote my job in a script like this: xdg-open (URL) I saved this script in my /home/flicker directory.

However, when I edit my cron (crontab -e), it saves the file as /tmp/crontab.tIzXBv/crontab.

After saving it successfully says installing new crontab.

I made my file script executable, but still failing to handle the job. I wanted the script to run at 14:30PM, so I added this line to my crontab:

30 14 * * * /home/flicker/open-web.sh

This is still failing to work please help. Here is my script below:

#!/bin/bash
xdg-open https://www.google.com
David Foerster
  • 36,890
  • 56
  • 97
  • 151

1 Answers1

13

to execute a bash script via cron i would use

30 14 * * * /bin/bash /home/flicker/open-web.sh >/dev/null 2>&1

To call a web page/URL via cron & curl

30 14 * * * /usr/bin/curl  http://funkyname.com/blub.html >/dev/null 2>&1

Update:

After realizing you want to open an actual browser and NOT just calling a script - i guess i understood your case.

You can solve that without bash script - instead write all logic directly to your crontab.

for Chrome:

30 14 * * * export DISPLAY=:0 && google-chrome --new-window http://www.randomurl.com

for Firefox:

30 14 * * * export DISPLAY=:0 && firefox --new-window http://www.randomurl.com

Keep in mind:

The --new-window parameter is forcing the browser in charge to open a new window, if you don't want that, just remove that section.

To avoid noise output you can optional add >/dev/null 2>&1 at the end of your cron entry.

dufte
  • 14,198
  • 5
  • 41
  • 43