Depending on the OS you are using, you may have a cron setup that works for every two weeks, but by using the date command in your script you could schedule it weekly and they choose whether to actually execute or not.
On many flavours of unix, you may find that
gives the Julian date. Given that there are seven days in a week, you could schedule every Monday and then have a test for "Is today an even Julian date?" test at the top.
Some other flavours will give the week of the year, and it's a similar thing, but probably using Julian date is the best.
So an entry for cron:-
will run this every Monday at 4am. You could then code your script like this:-
Of course, you could make the test -eq to say you want to ignore even numbered Mondays. The divide by two, multiply by two relys on odd numbers division getting the 0.5 truncated, so if the Julian date is 123, the half is only counted as 61, so double it again and you get 122. Test then finds that they are different.
Hi ,
I have a shell script to perform some actions on sun solaris box . This script normally requires to be run as a different user. so, whenever i have to run this script, i need to sudo in as that user , enter the password and execute it. Now,I have to setup a cronjob to execute the script... (11 Replies)
Hi all
Recently i had finished a perl script. When i run manually, the script work fine.
But when i wanted to put the script in cron, it didn't get the same output as it run manually. I felt that it only execute the script until certain line then it stop as i see most of the related files didn't... (6 Replies)
Hi
Im very new at working with unix and this problem I simply can not understand. I know there are a lot of threads about problems with shell scripts behaving differently when run from a terminal and from a cronjob. I have tried everything(almost) but I still havent cracked this problem.
Im... (15 Replies)
Status quo is, within a web application, which is coded completely in php (not by me, I dont know php), I have to fill out several fields, and execute it manually by clicking the "go" button in my browser, several times a day.
Thats because:
The script itself pulls data (textfiles) from a... (3 Replies)
Hi,
I want to schedule a job to run every 15 mins through cron.
searched the forums and came up with this piece of code.i have given this in my crontab
0-59/15 * * * * sh /usr/ss/job
But its not being run. Have i made any mistake here.
Can any1 post the cron code for scheduling the... (5 Replies)
In my cronjob, I would like to schedule my script.sh to run every minutes. I crontab -e and have in line below but it didn't seems to run at all.
* * * * * script.sh
When I run it manually, I can run it. Is that anything wrong with the above line?
If I change it to something like below,... (4 Replies)
Hi,
I need to write a shell script which will run i background and will execute other script only on Mon to Fri 10 AM but not on Sat and Sun.
I am able to set it to run on every day at 10AM but how to make it to run only on Mon to Fri
Thanks,
Firestar. (7 Replies)
On Ubuntu 10.04 LTS, I would like to know the best way to schedule myscript.sh to run at a specified time, please provide examples and specify things like does cron have to be running, how do I check if cron is running and all that. I have tried unsuccessfully in the past to run the AT command,... (1 Reply)
Hello,
I have two crontabs, one for the root and one for another user. There is a script in my configurations that has to send a email. The script works and sends the emails when I run it by hand with either the root or the user, and when I program it in the root's crontab.
But! It does not... (3 Replies)
Discussion started by: Tralaraloro
3 Replies
LEARN ABOUT MOJAVE
periodic
PERIODIC(8) BSD System Manager's Manual PERIODIC(8)NAME
periodic -- run periodic system functions
SYNOPSIS
periodic directory ...
DESCRIPTION
The periodic utility is intended to be called by launchd(8) to execute shell scripts located in the specified directory.
One or more of the following arguments must be specified:
daily Perform the standard daily periodic executable run. This usually occurs early in the morning (local time).
weekly Perform the standard weekly periodic executable run. This usually occurs very early on Saturday mornings.
monthly Perform the standard monthly periodic executable run. This usually occurs on the first day of the month.
path An arbitrary directory containing a set of executables to be run.
If an argument is an absolute directory name it is used as is, otherwise it is searched for under /etc/periodic and any other directories
specified by the local_periodic setting in periodic.conf(5) (see below).
The periodic utility will run each executable file in the directory or directories specified. If a file does not have the executable bit
set, it is silently ignored.
Each script is required to exit with one of the following values:
0 The script has produced nothing notable in its output. The <basedir>_show_success variable controls the masking of this output.
1 The script has produced some notable information in its output. The <basedir>_show_info variable controls the masking of this output.
2 The script has produced some warnings due to invalid configuration settings. The <basedir>_show_badconfig variable controls the mask-
ing of this output.
>2 The script has produced output that must not be masked.
If the relevant variable (where <basedir> is the base directory in which the script resides) is set to ``NO'' in periodic.conf, periodic will
mask the script output. If the variable is not set to either ``YES'' or ``NO'', it will be given a default value as described in
periodic.conf(5).
All remaining script output is delivered based on the value of the <basedir>_output setting.
If this is set to a path name (beginning with a '/' character), output is simply logged to that file. newsyslog(8) knows about the files
/var/log/daily.log, /var/log/weekly.log and /var/log/monthly.log, and if they exist, it will rotate them at the appropriate times. These are
therefore good values if you wish to log periodic output.
If the <basedir>_output value does not begin with a '/' and is not empty, it is assumed to contain a list of email addresses, and the output
is mailed to them. If <basedir>_show_empty_output is set to ``NO'', then no mail will be sent if the output was empty.
If <basedir>_output is not set or is empty, output is sent to standard output.
ENVIRONMENT
The periodic utility sets the PATH environment to include all standard system directories, but no additional directories, such as
/usr/local/bin. If executables are added which depend upon other path components, each executable must be responsible for configuring its
own appropriate environment.
FILES
/System/Library/LaunchDaemons/com.apple.periodic-*.plist
the periodic utility is typically called via these launchd(8) jobs
/etc/periodic the top level directory containing daily, weekly, and monthly subdirectories which contain standard system peri-
odic executables
/etc/defaults/periodic.conf the periodic.conf system registry contains variables that control the behaviour of periodic and the standard
daily, weekly, and monthly scripts
/etc/periodic.conf this file contains local overrides for the default periodic configuration
EXIT STATUS
Exit status is 0 on success and 1 if the command fails.
EXAMPLES
The /etc/defaults/periodic.conf system registry will typically have a local_periodic variable reading:
local_periodic="/usr/local/etc/periodic"
To log periodic output instead of receiving it as email, add the following lines to /etc/periodic.conf:
daily_output=/var/log/daily.log
weekly_output=/var/log/weekly.log
monthly_output=/var/log/monthly.log
To only see important information from daily periodic jobs, add the following lines to /etc/periodic.conf:
daily_show_success=NO
daily_show_info=NO
daily_show_badconfig=NO
DIAGNOSTICS
The command may fail for one of the following reasons:
usage: periodic <directory of files to execute> No directory path argument was passed to periodic to specify where the script fragments
reside.
<directory> not found Self explanatory.
SEE ALSO sh(1), periodic.conf(5), launchd(8), newsyslog(8)HISTORY
The periodic utility first appeared in FreeBSD 3.0.
AUTHORS
Paul Traina <pst@FreeBSD.org>
Brian Somers <brian@Awfulhak.org>
BUGS
Since one specifies information about a directory using shell variables containing the string, <basedir>, <basedir> must only contain charac-
ters that are valid within a sh(1) variable name, alphanumerics and underscores, and the first character may not be numeric.
BSD August 30, 2007 BSD