Sponsored Content
Top Forums Shell Programming and Scripting crontab entry to run every last day of the month Post 302234437 by jsandova on Tuesday 9th of September 2008 04:41:58 PM
Old 09-09-2008
I had a similar dilemma where I need to run a backup script every 2nd Tuesday of the Month. So I added the following to my script:

Code:
TODAY=`/bin/date +%d | cut -d"0" -f2`
TUE=`cal | awk {'print $3'} | xargs | /usr/bin/cut -d" "  -f3`
#See if today matches the 2nd Tuesday of the month
if [ "$TODAY" -ne "$TUE" ] ; then

        exit 0

else


Moderator's Comments:
Mod Comment code tags please, thanks.

Last edited by zaxxon; 10-20-2011 at 04:55 AM.. Reason: code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Cron to run first day of month to calculate date 3 months ago

Hi, I would like to find out how can i calculate a date which is 3 months ago. I intend to run a cron job on the 1st of every month, and calculate the month 4 months earlier from the date. For example, if today's date is 1st May 2007, i would like to return 012007( January 2007). i can get... (1 Reply)
Discussion started by: new2ss
1 Replies

2. UNIX for Dummies Questions & Answers

cron script -run every 2nd day of month except Monday

I know I can't schedule this in cron and would have to write a wrapper around my script and schedule it in cron ....but not sure how do to this? How do I exclude Monday if the 2nd day of the month falls on a Monday? Thanks. I tried this: 0 0 2 * 0,2-6 command And I know this doesnt... (2 Replies)
Discussion started by: newtou
2 Replies

3. Solaris

crontab entry to run a script on 1st of every month.

What should be the crontab entry in solaris to run a script on 1st of every month? Is this correct? 00 02 1 * * <script to be executed> (5 Replies)
Discussion started by: deepaksahni0109
5 Replies

4. Shell Programming and Scripting

Crontab to skip only one entry in a day???

Hello Friends, I have a cron tab like this: 10,40 1-23 * * * /script i want to skip only one execution at 00:10, so basically i want it to execute every hour at 10th and 40th minute, except 00:10. Could anyone help me doing this Thanks folks :b: (4 Replies)
Discussion started by: Prateek007
4 Replies

5. Shell Programming and Scripting

run the script for last day of the month

Hello Experts, I have a script which i want to run the on last day of every month. let say I have backup.sh script which i want to run it every month last day. Can anyone please help :confused: thanks (4 Replies)
Discussion started by: aks_1902
4 Replies

6. UNIX for Dummies Questions & Answers

Running Script via Crontab on 2nd Working day each month

Hello Guys, I have a questions regarding running a shell script every second working day each month. I have no clue how solve this problem :wall:. Important is that it has to be the second working (Mo-Fr). Example: If 1st and 2nd Days of month are Sat and Sun the script must run on 4th day... (5 Replies)
Discussion started by: Hollo
5 Replies

7. Shell Programming and Scripting

Writing a script to run weekly/monthly - check for weekday or day-of-the-month

Hi all, I currently have a UNIX file maintenance script that runs daily as a cron job. Now I want to change the script and create functions/sub inside it that runs on a weekly or monthly basis. To run all the scripts' daily maintenance, I want to schedule it in cron as simply maint.sh... (1 Reply)
Discussion started by: newbie_01
1 Replies

8. Shell Programming and Scripting

Simpler crontab entry to execute pgm on last day of the month

The following bash command line works for the last day of the month. Test by replacing the 1 with tomorrows day of month number && echo "Day before tomorrow"Can it be used within crontab? As * * 28-31 * * && echo "Today ls last day of month" >>/tmp/crontabtestI tried to test crontab with... (1 Reply)
Discussion started by: lsatenstein
1 Replies

9. Shell Programming and Scripting

Script to run on 2 4 and 7 day of the month

I am looking for a unix script which could run a job on 2, 4 and 7 working day of the month. if the days are falling on the saturday/sunday. it should run on the next day. Thank you.. (9 Replies)
Discussion started by: tradingspecial
9 Replies

10. UNIX for Beginners Questions & Answers

Dynamic crontab entry for day and night

I have query apply crontab entry that the script executes as below day hours (before 8:00 PM and after 7:00 AM) execute every 5 min in Night hours (after 8:00 PM to 7:00 AM) executes every 15 min How can we set such entry in crontab ? (4 Replies)
Discussion started by: kaushik02018
4 Replies
crontab(1)						      General Commands Manual							crontab(1)

NAME
crontab - Submits a schedule of commands to cron SYNOPSIS
crontab [file] crontab -l | -v | -r | -e [username] STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: crontab: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
Edits a copy of your crontab entry. If the crontab entry does not exist, creates an empty entry to edit. The -e option invokes the editor specified by the EDITOR environment variable, or uses /usr/bin/vi by default. The crontab command installs the new entry when editing is complete. [Tru64 UNIX] If username is specified, edits the file for the specified user. You must have appropriate privileges to use this option. Displays the contents of your crontab file. Removes the crontab file from the crontab directory. [Tru64 UNIX] Displays the name of your crontab file and the date and time at which you submitted it with crontab. OPERANDS
Path name of file that contains crontab specifications in the format described. DESCRIPTION
The crontab command copies the specified file or standard input if you do not specify a file into the /var/spool/cron/crontabs directory, which holds all users' crontab files. The cron command runs commands according to the instructions in the crontab files. The crontab files are named for users, and the commands in the files are run under the user's authority. For example, the commands in the /var/spool/cron/crontabs/root file are run under root authority. When you use the crontab command, the file under your authority is affected. For example, if adm invokes the crontab -l com- mand, the /var/spool/cron/crontabs/adm file is displayed. If the username argument is included, the specified user's crontab file is listed and edited rather than the current user's crontab file. You must have root privileges to specify the username argument. By default, the vi editor is used. Note that the file /var/spool/cron/crontabs/root contains several entries that will run by default, such as the following command to back up and clean the /var/adm/wtmp log file: 0 2 * * 0 /usr/bin/logclean /var/adm/wtmp > dev/null You can configure these default commands to suit your local system requirements. After cron runs commands according to the contents of your crontab file, it mails you the output from standard output and standard error for these commands, unless you redirect standard output or standard error. Note When entries are made to a crontab file by using the crontab command, all previous entries in the file are removed. You can use the crontab command if your user name appears in the /usr/lib/cron/cron.allow file. If that file does not exist, the crontab command checks the /usr/lib/cron/cron.deny file to determine if you should be denied access to crontab. The allow/deny files contain one user name per line. If neither file exists, you can submit a job only if you are operating with superuser authority. Each crontab file entry consists of a line with six fields, separated by spaces and tabs. The information in the fields specifies when the command runs and the name of the command. The fields specify the following: The first field specifies the minute (0 to 59). The second field specifies the hour (0 to 23). The third field specifies the day of the month (1 to 31). The fourth field specifies the month of the year (1 to 12). The fifth field specifies the day of the week (0 to 6 for Sunday to Saturday). The sixth field specifies the shell com- mand to be executed. You can specify the following values in the fields that indicate the time: An integer (within the appropriate range of values) Two integers separated by a dash to indicate an inclusive range A list of integers separated by commas An asterisk to select all possible values You can specify the days on which the command is to execute in two fields (day of the month and day of the week). You can specify both fields, or you can specify only one field. To use only one field to specify the days, the other field should contain an asterisk (*). If both methods are used, the command is executed whenever either of the specifications is met. [Tru64 UNIX] For example, the following entry runs command at midnight on the first and fifteenth days of each month, as well as every Monday: 0 0 1,15 * 1 command The cron program runs the command named in the sixth field at the specified date and time. If you include a percent sign (%) in the sixth field, cron treats everything that precedes it (in that field) as the command invocation, and makes all that follows it available to stan- dard input, unless you escape the percent sign (\%) or double quote it ("%"). An exclamation point (!) in the sixth field is translated as a newline character. The shell runs only the first line of the command field (up to a percent sign or End-of-Line). All other lines are made available to the command as standard input. The cron program invokes a subshell from your $HOME directory. This means that it will not run your file. If you schedule a command to run when you are not logged in and you want to have commands in your run, you must explicitly do so in the crontab file. (For a more detailed discussion of how sh can be invoked, see the sh command.) The cron program supplies a default environment for every shell, defining HOME, LOGNAME, SHELL (=/usr/bin/sh), and PATH (=:/usr/bin). [Tru64 UNIX] To submit commands to the cron daemon, invoke the crontab command with the -e option, or perform the following tasks: [Tru64 UNIX] Become the user that corresponds to the appropriate file in the /usr/spool/cron/crontabs directory. For example, if you want to submit commands that will run under adm authority, become user adm. [Tru64 UNIX] Use the crontab command with the -l option to copy the appropriate file from the /usr/spool/cron/crontabs directory to a temporary file in your home directory. For example, if you are user adm, you could use the following command: crontab -l > temp_adm [Tru64 UNIX] Edit the temporary file and add the commands you want to run at a specified time. [Tru64 UNIX] Use the crontab command and specify the temporary file to submit the commands to the cron daemon. NOTES
When entries are made to a crontab file, all previous entries are erased. If your user ID is associated with more than one user name, crontab uses the first user name that appears in the /etc/passwd file, regardless of which user name you might actually be using. [Tru64 UNIX] The file /usr/lib/cron is a symbolic link to /var/adm/cron. [Tru64 UNIX] If cron.allow exists, the superuser's user name must appear there for that superuser to be able to use the command. EXIT STATUS
The following exit values are returned: Successful completion. An error occurred. EXAMPLES
The following example writes the time to the console every hour on the hour: 0 * * * * echo The hour is `date`. >/dev/console The following example runs calendar at 6:30 a.m. every Monday, Wednesday, and Friday: 30 6 * * 1,3,5 /usr/bin/calendar - The following example writes the contents of happyholidays.txt to all users logged in at 4:00 p.m. each Friday in December and each day between December 10 and December 31 inclusive: 0 16 10-31 12 5 /usr/sbin/wall /var/tmp/happyholidays.txt ENVIRONMENT VARIABLES
The following environment variables affect the execution of crontab: Determines the editor used with the -e option. Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization variables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte char- acters in arguments). Determines the locale for the format and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. FILES
Main cron directory. Directory containing the crontab files adm, cronuucp, root, sys,and uucp. List of allowed users. List of denied users. Log of cron activity. Queue description file for at, batch, and cron. Contains user information. User profile. SEE ALSO
Commands: at(1), cron(8), mail(1), mailx(1), Bourne shell sh(1b), POSIX shell sh(1p) Files: queuedefs(4) Standards: standards(5) crontab(1)
All times are GMT -4. The time now is 12:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy