04-14-2014
The problem you have is at the first of the month. (day - 2) does not work when today is the 1st or 2nd. The command "date '2 days ago'" does not work with the standard Unix date command. That syntax is a part of the GNU version of date. I would recommend installing it as it seems to be 100% backwards compatible with the vanilla date command but, as you can see, adds much more functionality. It is a part of the
coreutils package from GNU. Once you have this then SriniShoo's examples should work. I like to install this and call it gdate just to make sure to keep the original date command in tact.
There is also a shell script you can find on this site written by Perderabo which also does some pretty good date handling called
datecalc. I like the GNU date a little better but, just in case you cannot install 3rd party software, datecalc is a pretty close second.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Which programm, deamon or script is responsible for filling the file /var/log/messages ? (1 Reply)
Discussion started by: Cozmic
1 Replies
2. Solaris
hi sirs
can u tell the difference between /var/log/syslogs and /var/adm/messages
in my working place i am having two servers.
in one servers messages file is empty and syslog file is going on increasing..
and in another servers message file is going on increasing but syslog file is... (2 Replies)
Discussion started by: tv.praveenkumar
2 Replies
3. UNIX for Advanced & Expert Users
The /var/adm/messages in Solaris seem to log more system messages/errors compared to /var/log/messages in Linux.
I checked the log level in Linux and they seem OK.
Is there any other log file that contains the messages or is it just that Linux doesn't log great many things? (2 Replies)
Discussion started by: gomes1333
2 Replies
4. Solaris
Hi,
Is the contents in /var/log/syslog and /var/adm/messages are same??
Regards (3 Replies)
Discussion started by: vks47
3 Replies
5. Shell Programming and Scripting
How can view log messages between two time frame from /var/log/message or any type of log files.
when logfiles are very big and especially many messages with in few minutes, I would like to display log messages between 5 minute interval.
Could you pls give me the command? (1 Reply)
Discussion started by: johnveslin
1 Replies
6. UNIX for Dummies Questions & Answers
Whenever a user uses su I get the following error messages in /var/log/messages:
Nov 23 04:24:55 <REMOVED> abrt: saved core dump of pid 26141 (/usr/libexec/fprintd) to /var/spool/abrt/ccpp-1322018695-26141.new/coredump (753664 bytes)
Nov 23 04:24:55 <REMOVED> abrtd: Directory... (3 Replies)
Discussion started by: JakesHat
3 Replies
7. Shell Programming and Scripting
How do i cleanup a log file data every 2 days, I was using below command in a script to remove log file every 2 days, but looks like its not working as log file date and time gets updated every 5 mins. Is there a way ?
find ./ \( -name . -o -prune \) -type f -mtime -2 -name... (9 Replies)
Discussion started by: aix_admin_007
9 Replies
8. SuSE
How are you?
SUSE V10 and 11.
In /var/log/messages I see these lines in some servers. I'd like to know what causes these errors and how to fix them.
Thank you,
error: PAM: Authentication failure for root from XXXXXXXX
Did not receive identification string from XXXXXXX
Invalid user suse-gm... (2 Replies)
Discussion started by: JDBA
2 Replies
9. Shell Programming and Scripting
Below is my script to log all the command input by any user to /var/log/messages. But I cant achieve the desired output that i want. PLease see below.
function log2syslog
{
declare COMMAND
COMMAND=$(fc -ln -0)
logger -p local1.notice -t bash -i -- "$USER:$COMMAND"
}
trap... (12 Replies)
Discussion started by: invinzin21
12 Replies
10. Shell Programming and Scripting
I have been searching and reading about syslog. I would like to know how to Transfer the logs being thrown into /var/log/messages into another file example /var/log/volumelog.
tail -f /var/log/messages
dblogger: msg_to_dbrow: no logtype using missing
dblogger: msg_to_dbrow_str: val ==... (2 Replies)
Discussion started by: kenshinhimura
2 Replies
LEARN ABOUT FREEBSD
easterg
CALENDAR(3) BSD Library Functions Manual CALENDAR(3)
NAME
easterg, easterog, easteroj, gdate, jdate, ndaysg, ndaysj, week, weekday -- Calendar arithmetic for the Christian era
LIBRARY
Calendar Arithmetic Library (libcalendar, -lcalendar)
SYNOPSIS
#include <calendar.h>
struct date *
easterg(int year, struct date *dt);
struct date *
easterog(int year, struct date *dt);
struct date *
easteroj(int year, struct date *dt);
struct date *
gdate(int nd, struct date *dt);
struct date *
jdate(int nd, struct date *dt);
int
ndaysg(struct date *dt);
int
ndaysj(struct date *dt);
int
week(int nd, int *year);
int
weekday(int nd);
DESCRIPTION
These functions provide calendar arithmetic for a large range of years, starting at March 1st, year zero (i.e., 1 B.C.) and ending way beyond
year 100000.
Programs should be linked with -lcalendar.
The functions easterg(), easterog() and easteroj() store the date of Easter Sunday into the structure pointed at by dt and return a pointer
to this structure. The function easterg() assumes Gregorian Calendar (adopted by most western churches after 1582) and the functions
easterog() and easteroj() compute the date of Easter Sunday according to the orthodox rules (Western churches before 1582, Greek and Russian
Orthodox Church until today). The result returned by easterog() is the date in Gregorian Calendar, whereas easteroj() returns the date in
Julian Calendar.
The functions gdate(), jdate(), ndaysg() and ndaysj() provide conversions between the common "year, month, day" notation of a date and the
"number of days" representation, which is better suited for calculations. The days are numbered from March 1st year 1 B.C., starting with
zero, so the number of a day gives the number of days since March 1st, year 1 B.C. The conversions work for nonnegative day numbers only.
The gdate() and jdate() functions store the date corresponding to the day number nd into the structure pointed at by dt and return a pointer
to this structure.
The ndaysg() and ndaysj() functions return the day number of the date pointed at by dt.
The gdate() and ndaysg() functions assume Gregorian Calendar after October 4, 1582 and Julian Calendar before, whereas jdate() and ndaysj()
assume Julian Calendar throughout.
The two calendars differ by the definition of the leap year. The Julian Calendar says every year that is a multiple of four is a leap year.
The Gregorian Calendar excludes years that are multiples of 100 and not multiples of 400. This means the years 1700, 1800, 1900, 2100 are
not leap years and the year 2000 is a leap year. The new rules were inaugurated on October 4, 1582 by deleting ten days following this date.
Most catholic countries adopted the new calendar by the end of the 16th century, whereas others stayed with the Julian Calendar until the
20th century. The United Kingdom and their colonies switched on September 2, 1752. They already had to delete 11 days.
The function week() returns the number of the week which contains the day numbered nd. The argument *year is set with the year that contains
(the greater part of) the week. The weeks are numbered per year starting with week 1, which is the first week in a year that includes more
than three days of the year. Weeks start on Monday. This function is defined for Gregorian Calendar only.
The function weekday() returns the weekday (Mo = 0 .. Su = 6) of the day numbered nd.
The structure date is defined in <calendar.h>. It contains these fields:
int y; /* year (0000 - ????) */
int m; /* month (1 - 12) */
int d; /* day of month (1 - 31) */
The year zero is written as "1 B.C." by historians and "0" by astronomers and in this library.
SEE ALSO
ncal(1), strftime(3)
STANDARDS
The week number conforms to ISO 8601: 1988.
HISTORY
The calendar library first appeared in FreeBSD 3.0.
AUTHORS
This manual page and the library was written by Wolfgang Helbig <helbig@FreeBSD.org>.
BUGS
The library was coded with great care so there are no bugs left.
BSD
November 29, 1997 BSD