08-04-2004
I figured out how to do it. It might not be eligent, but it works.
===============================
#!/bin/ksh
# Because a cron job can not be told to run on the last day of a month,
# it will be run on the 28-31 of every month at 11:30pm. The following
# code will determine if we are on the last day of the month. Because a
# cron job doesn't have any environmental variables available from the
# submitting session, all paths need to be hard coded. If this job needs
# to be run for a gers production except live, please make the
# approporate modifications to the patch names. The test will be for any
# file that was created before the current month.
days_in_month=$(echo $(cal) | awk '{print $NF}')
day_of_month=$(date +%d)
last_month=$(expr `date +%m` - 1)
last_year=$(date +%y)
if [[ $last_month -eq 0 ]]
then
last_month=12
last_year=$(expr $last_year - 1)
fi
if [[ $last_month -lt 10 ]]
then
last_month="0"$last_month
fi
file_name=$last_month$last_year
if [[ $days_in_month -eq $day_of_month ]]
then
touch -m -t `date +%Y%m`010001.01 /gers/live/adhoc/ekvidatetestfile
cd /gers/live/datafiles
find . \( ! -name . -prune \) -name "EKVI*\.DAT" -type f ! -newer /gers/live/adhoc/ekvidatetestfile -exec compress {} \;
cd /gers/live/adhoc
find . \( ! -name . -prune \) -name "EKVI*" -type f ! -newer /gers/live/adhoc/ekvidatetestfile -exec cat {} > /gers/live/datafiles/EKVI$file_name.DAT \;
find . \( ! -name . -prune \) -name "EKVI*" -type f ! -newer /gers/live/adhoc/ekvidatetestfile -exec rm {} \;
rm /gers/live/adhoc/ekvidatetestfile
else
echo not the last day of the month
exit
fi
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
My task to to delete files which are of previous months.
I have files named as follows *CCYYMMDD.xls. on a particular day i have delete previous months files
i.e in Dec i have delete all nov files which look like 200511DD.XLS
in Jan i have to delete all Dec files 200512DD.xls
... (7 Replies)
Discussion started by: savitha
7 Replies
2. Shell Programming and Scripting
Hi,
I want a script(ksh) to see if today is the last working day(Mon-Fri) of the month. If it is the last working day I need to print current date, else I need the last working day of previous month. Thanks in advance. (1 Reply)
Discussion started by: rspk_praveen
1 Replies
3. Shell Programming and Scripting
Hi, I'm new with Unix, I'm trying to get a last day of previous month with this format: %b %d %Y (example: Feb 25 2008).
Here is what I have so far.
#!/bin/ksh
cur_month=`date +%m`
cur_year=`date +%Y`
prev_month=$(($cur_month-1))
# Check to see if this is January
if
then
... (11 Replies)
Discussion started by: sirrtuan
11 Replies
4. Shell Programming and Scripting
Hello - I have one question regarding the date. I wanted to display the month name for previous day. The output should be as follows...
5-Feb-09 => February
1-Feb-09 => January
28-Feb-09=> February
Here is the code i am using to get the output....
date '+%m %d %Y' |
{
read MONTH DAY... (4 Replies)
Discussion started by: govindts
4 Replies
5. UNIX for Dummies Questions & Answers
Hello,
I'm new to shell scripting.
We've develop a script which will grep a file on the search criteria, MON (Jan/Feb/Mar/etc). But we should set this sript in cron which will run on every first day of the month. The problem I'm having is, when I run the script, it is displaying the contents of... (7 Replies)
Discussion started by: suneelj
7 Replies
6. Shell Programming and Scripting
Can someone help me creating a function which will give me previous months.
like for example if the date is 200902 and if i call my function and pass a parameter 2 i want to get 200812 as the answer.
or if i pass 200902 with a parameter 7 then my function should give me the date as 200807. (1 Reply)
Discussion started by: Lincy
1 Replies
7. UNIX for Dummies Questions & Answers
Hi folks
month=`date +%m`gives current month
Howto print previous month (current month minus 1) with Solaris date and ksh (7 Replies)
Discussion started by: slashdotweenie
7 Replies
8. UNIX for Dummies Questions & Answers
Hi All,
I am using the below code to get the year and month from date:
Below gives output like 201212.
dt=`date '+%Y%m'`
how do i get the previous month value(ie: subtract 1 from date)
example output:
dt=201211
Please help. :confused: (3 Replies)
Discussion started by: abhi_123
3 Replies
9. Shell Programming and Scripting
I have requirment to get last date of previous month and the first date of previous 4th month:
Example:
Current date: 20130320 (yyyymmdd)
Last date of previous month: 20130228 (yyyymmdd)
First date of previous 4th month: 20121101 (yyyymmdd)
In my shell --date, -d, -v switches are not... (3 Replies)
Discussion started by: machomaddy
3 Replies
LEARN ABOUT DEBIAN
html::formhandler::field::date
HTML::FormHandler::Field::Date(3pm) User Contributed Perl Documentation HTML::FormHandler::Field::Date(3pm)
NAME
HTML::FormHandler::Field::Date - a date field with formats
VERSION
version 0.40013
SUMMARY
This field may be used with the jQuery Datepicker plugin.
You can specify the format for the date using jQuery formatDate strings or DateTime strftime formats. (Default format is format =>
'%Y-%m-%d'.)
d - "%e" - day of month (no leading zero)
dd - "%d" - day of month (two digit)
o - "%{day_of_year}" - day of the year (no leading zeros)
oo - "%j" - day of the year (three digit)
D - "%a" - day name short
DD - "%A" - day name long
m - "%{day_of_month" - month of year (no leading zero)
mm - "%m" - month of year (two digit) "%m"
M - "%b" - month name short
MM - "%B" - month name long
y - "%y" - year (two digit)
yy - "%Y" - year (four digit)
@ - "%s" - Unix timestamp (ms since 01/01/1970)
For example:
has_field 'start_date' => ( type => 'Date', format => "dd/mm/y" );
or
has_field 'start_date' => ( type => 'Date', format => "%d/%m/%y" );
You can also set 'date_end' and 'date_start' attributes for validation of the date range. Use iso_8601 formats for these dates ("yyyy-mm-
dd");
has_field 'start_date' => ( type => 'Date', date_start => "2009-12-25" );
Customize error messages 'date_early' and 'date_late':
has_field 'start_date' => ( type => 'Date,
messages => { date_early => 'Pick a later date',
date_late => 'Pick an earlier date', } );
If form has 'is_html5' flag active it will render <input type="date" ... /> instead of type="text"
AUTHOR
FormHandler Contributors - see HTML::FormHandler
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Gerda Shank.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
perl v5.14.2 2012-06-25 HTML::FormHandler::Field::Date(3pm)