DeNasio
11-28-2001, 03:34 AM
I'm signing up with Aletia.com to use the cron job feature. But how do cron jobs work? You make a script (like in php) and you tell the system to run this script every day at 12:00am? Is it that simple?
![]() | View Full Version : Question about cron jobs DeNasio 11-28-2001, 03:34 AM I'm signing up with Aletia.com to use the cron job feature. But how do cron jobs work? You make a script (like in php) and you tell the system to run this script every day at 12:00am? Is it that simple? nexcess.net 11-28-2001, 03:41 AM in a word, yes. you make a script in any number of languages (including php if the php cgi is installed) and schedule it to run at a certain time of day (there are other options as well, but this is one of them). Chris smartbackups 11-28-2001, 03:51 AM Here is the way to run it, depending on your system log in the do a 'crontab -e' edit it and the save it and it installs automatically. # minute hour day month day of the week script to execute # (0-59) (0-23) (1-31) (1-12) (0-6 with 0=Sunday) (executable) # 0 0 * * * /path/to/your/script bobcares 11-28-2001, 04:14 AM To create a cron for a user, log in as the user. 1) su $user 2) crontab -e 3) min hr date mon day /home/$user/$domain-www/path/to/script where min - minute (00 - 59) hr - hour of day (00 - 23) date - day of month (01 - 31) mon - month of year (01 - 12) day - day of week (00 - 06) 4) save changes 5) exit However where you want a script in php to work you have to put in a little more. Here's the instructions when php runs only as an apache module Say you are user star and you want to run a php program(say http://www.star.com/exp.php) from cron and output the results to a file /home/star/phptest2 Telnet into the system as star create a file (say /home/star/cronjob) Add the folllowing lines to it SHELL=/bin/bash MAILTO=star@starinc.com 0 * * * * /usr/bin/wget -O/home/star/testphp2 http://www.starinc.com/exp.php The above syntax means that at the start(0) of every hour(*) of every day(*) of every month(*) of every year(*), wget will run the exp.php and output the contents to testphp2. And when this runs, it will send a mail to star@starinc.com Save the above file now run crontab /home/star/cronjob This will automatically add it to cron and execute it at the designated time If you do not want to output the results anywhere simply omit -O /home/star/testphp2 To view the contents of cron simply type crontab -l to remove tasks from cron simply type crontab -r Say you are user root and you want to run a system critical php program(say http://www.starinc.com/exp.php) every hour from cron and output the results to a file /home/star/phptest2 here's what you do ssh into the system as root create a file say( /etc/cron.hourly/phpcron) Add the folllowing lines to it #!/bin/sh /usr/bin/wget -O/home/star/testphp2 http://www.starinc.com/exp.php save and chmod to 755 Here cron automatically reads /etc/crontab , detects all scripts in /etc/cron.hourly (in our case phpcron) )and executes them For hourly , daily, weekly and monthly, store your scripts in /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly respectively I hope this helps. Have a great day :) Regards Amar MikeMike 11-29-2001, 10:56 AM how do you start a cron job every 10 minutes? Regards Michael bteeter 11-29-2001, 11:04 AM Originally posted by MikeMike how do you start a cron job every 10 minutes? Regards Michael You can specify multiple minutes, hours, days, etc in cron jobs using the comma. For example: 0,10,20,30,40,50 * * * * /path/to/10minscript Will run the script /path/to/10minscript every 10 minutes. So long as you don't put a space between the minute values you are OK. Take care, Brian |