Yesterday in UNIX


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Yesterday in UNIX
# 1  
Old 02-13-2015
Question Yesterday in UNIX

Hi,
I want to set a cron job with the yesterday date in a unix server (solaris).
  • I tried TZ=CST+24 date +%Y%m%d but i had TZ=CST+24: not found
  • I tried `perl -mPOSIX -e 'print POSIX::strftime("%Y%m%d",localtime(time() - 86400)) '` it works but I'm not sure that all the clients have perl in their machines.
  • date -v and date -d don't work only -u and -a options work with date in unix:
    date: illegal option -- d
    usage: date [-u] mmddHHMM[[cc]yy][.SS]
    date [-u] [+format]
    date -a [-]sss[.fff]

Anyone has an idea please.
Thanks
# 2  
Old 02-13-2015
What is the poll for?

What shell did you run the TZ one in?

Perl is the only solution that will work dependably everywhere.
This User Gave Thanks to Corona688 For This Post:
# 3  
Old 02-13-2015
Hi.

For some versions of ksh built-in command printf:
Code:
...
A %(date-format)T format can be:
use to treat an argument as a date/time string and to format the
date/time according to the date-format as defined for the
date(1) command.
...
man ksh, section printf

So
Code:
printf "%(%Y-%m-%d)T\n" "yesterday"

would print ( for today = Fri Feb 13 12:01:29 CST 2015 )
Code:
2015-02-12

For ksh 93s+

Best wishes ... cheers, drl

PS:
Code:
TZ=CST+24 date +%Y%m%d

produced
Code:
20150212

in a system like:
Code:
OS, ker|rel, machine: SunOS, 5.10, i86pc
Distribution        : Solaris 10 10/08 s10x_u6wos_07b X86

for both ksh and bash.

And for csh / tcsh
Code:
setenv TZ CST+24 ; date +%Y%m%d

produces
Code:
20150212


Last edited by drl; 02-13-2015 at 02:25 PM..
This User Gave Thanks to drl For This Post:
# 4  
Old 02-13-2015
For GNU date, what's wrong with:
Code:
date -d 'yesterday'

with you format also specified? If you lack GNU date, get a copy at a trusted source. Or, you can search here for my time utility tm2tm.c, which does the same sort of things.
This User Gave Thanks to DGPickett For This Post:
# 5  
Old 02-13-2015
Quote:
Originally Posted by Corona688
What is the poll for?
Agreed. Removed it.

Given up on Solaris, but is there no GNU-equivalent date command in /usr/sfw or /usr/xpg? ?

Last edited by Scott; 02-14-2015 at 05:40 AM..
# 6  
Old 02-13-2015
Hi, Scott.

My recollection is that I tried to port GNU coreutils to get GNU date for Solaris. I was not successful.

It might be useful for the community here to have someone (with more expertise that I have) do a port. Judging from the posts here, I would say for Solaris and AIX, possibly HPUX.

I never found anything in sfw in Solaris to handle date arithmetic, but it's possible I missed something -- it was years before I stumbled on sfw Smilie I figured if the Sun/Oracle folks couldn't do the port, then it was probably difficult, or required a lot of extra work. The stuff in sfw seemed mostly like stand-alone items, e.g. ggrep ... cheers, drl
# 7  
Old 02-13-2015
Seems like sunfreeware went commercial, but SPARC Solaris 10 code is here: Freeware List for SPARC and Solaris 10
Code:
coreutils-8.11-sol10-sparc-local.gz GNU Coreutils are a set of basic file, shell, and text manipulation utilities for the GNU operating system that are expected to exist on every operating system. Previously, they were offered as three individual distributions: fileutils, shellutils, and textutils - installs in /usr/local. Dependencies: libiconv, libintl, gmp, and to obtain /usr/local/lib/libgcc_s.so.1 you will need to have installed libgcc-3.4.6 or gcc-3.4.6 or higher.
The programs included are 
\[        cut        false    ls      pathchk   sha224sum  sync      unexpand
base64    date       fmt      md5sum  pinky     sha256sum  tac       uniq
basename  dd         fold     mkdir   pr        sha384sum  tail      unlink
cat       df         groups   mkfifo  printenv  sha512sum  tee       uptime
chcon     dir        head     mknod   printf    shred      test      users
chgrp     dircolors  hostid   mktemp  ptx       shuf       timeout   vdir
chmod     dirname    id       mv      pwd       sleep      touch     wc
chown     du         install  nice    readlink  sort       tr        who
chroot    echo       join     nl      rm        split      true      whoami 
cksum     env        kill     nohup   rmdir     stat       truncate  yes 
comm      expand     link     nproc   runcon    stdbuf     tsort 
cp        expr       ln       od      seq       stty       tty 
csplit    factor     logname  paste   sha1sum   sum        uname
 
 
coreutils-8.11.tar.gz Source Code. [Details]


Last edited by DGPickett; 02-13-2015 at 04:18 PM..
This User Gave Thanks to DGPickett For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

UNIX cluster disk usage report generation for yesterday & today and email

HI Team, I am trying to create a shell script to generate a yesterday and today report to compare and email in daily basis. can you please help me on the same. #!/bin/bash #Author: ******************* #Description: This script will return the following set of system information: ... (2 Replies)
Discussion started by: Mi4304
2 Replies

2. UNIX for Beginners Questions & Answers

Yesterday

hi guys i want to know how can i insert in a variable yesterday for example : today=`date +%Y%m%d` yesterday =??? thanks a lot Please use CODE tags as required by forum rules! (4 Replies)
Discussion started by: Francesco_IT
4 Replies

3. Shell Programming and Scripting

yesterday date

HI All, I am trying so long to find the yesterday's date to run a script but i failed kinldy share the command to find yesterday's date in ksh i tried with date --date='1 day ago' but it displaying error your help will highly apeerciated. Thanks (7 Replies)
Discussion started by: thelakbe
7 Replies

4. Shell Programming and Scripting

yesterday's date

curdate=$(date +"%d-%b-%y") How to get the yesterday's date. (1 Reply)
Discussion started by: sandy1028
1 Replies

5. Shell Programming and Scripting

yesterday's date

I was playing to find a simple way to get yesterday's date, and came up with this (on an AIX 5.2 box): $ date Thu Feb 19 11:21:26 EST 2009 $ echo $TZ EST5EDT $ yesterday=`TZ=$(date +%Z)+24 date` $ echo $yesterday Wed Feb 18 16:21:52 GMT 2009 Why it is converted to GMT instead of... (2 Replies)
Discussion started by: gratus
2 Replies

6. Shell Programming and Scripting

Compare date from db2 table to yesterday's Unix system date

I am currently running the following Korn shell script which works fine: #!/usr/bin/ksh count=`db2 -x "select count(*) from schema.tablename"` echo "count" I would like to add a "where" clause to the 2nd line that would allow me to get a record count of all the records from schema.tablename... (9 Replies)
Discussion started by: sasaliasim
9 Replies

7. UNIX for Dummies Questions & Answers

Hello and I need help like in yesterday

I haven't been using linux very long( and when I say that its only been about 1 week for me) I was told to do the following: Create a Bash script that will copy all the files and subdirectories in one directory to a newly created directory. You may name the receiving directory anything you like.... (4 Replies)
Discussion started by: reecygee
4 Replies

8. Shell Programming and Scripting

Yesterday in i.e. May 09 and 05/09 format

I am not using GNU nor BSD. On AIX, how do you return yesterday in the format of i.e. "May 09" with a space. # `TZ=y380 date +%h""%d` >> May09 # `TZ=y380 date +%h" "%d` >> May I appreciate your help in advance. thx (3 Replies)
Discussion started by: Daniel Gate
3 Replies

9. Shell Programming and Scripting

yesterday

How to get the date before the current date on unix tru64? Today is 2008-02-27. I'll need 2008-02-26. Thx (0 Replies)
Discussion started by: Tlg13team
0 Replies

10. Shell Programming and Scripting

get yesterday's date?

Hello, using date, we can easily get today's date $ date +%y-%m-%d 06-12-08 is it possible for me to get yesterday's date using 'date', if not, is there any quick and easy way to do that? Thanks! (1 Reply)
Discussion started by: fedora
1 Replies
Login or Register to Ask a Question