Script with Dates


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script with Dates
# 1  
Old 07-12-2016
Linux Script with Dates

Hi from Uruguay.

Im having a problem with a scripts using dates, this is the problem:

I have a folder for each day, like : 20160711 for yesterday, 20160712 for today, and i want to mv to a backup folder the folders who exceed the year of antiquity (365 days from today) and that script execute every day on my server.

Now, i dont know how to compare every folder with the date from 1 year ago


Code:
date1yearago=$(date --date="1 year ago" +%Y%m%d)

this command give me in STRING the date of 1 year ago from today no ?

How i can compare that with every folder in my principal folder?

Sorry for my english

Cya and thannks for the help.


Piero.
Moderator's Comments:
Mod Comment Please use CODE tags when displaying sample input, sample output, and code segments.

Last edited by Don Cragun; 07-12-2016 at 08:41 PM.. Reason: Add CODE and ICODE tags.
# 2  
Old 07-12-2016
Try
Code:
find /path/to/dirtree -type d -mtime +365

to get a list of your outdated directories.
# 3  
Old 07-12-2016
Thanxs for the answer but i cant use find because i need to evaluate the folders by the name, not by the modificated or accesed times.
# 4  
Old 07-12-2016
Quote:
Originally Posted by michipoput
Hi from Uruguay.

Im having a problem with a scripts using dates, this is the problem:

I have a folder for each day, like : 20160711 for yesterday, 20160712 for today, and i want to mv to a backup folder the folders who exceed the year of antiquity (365 days from today) and that script execute every day on my server.

Now, i dont know how to compare every folder with the date from 1 year ago


Code:
date1yearago=$(date --date="1 year ago" +%Y%m%d)

this command give me in STRING the date of 1 year ago from today no ?

How i can compare that with every folder in my principal folder?

Sorry for my english

Cya and thannks for the help.


Piero.
Moderator's Comments:
Mod Comment Please use CODE tags when displaying sample input, sample output, and code segments.
The following is untested, but should come close to what you're trying to do:
Code:
#!/bin/ksh
date1yearago=$(date --date="1 year ago" +%Y%m%d)
cd /path/to/principal_directory
ls [12][0-9][0-9][0-9][01][0-9][0-3][0-9] | while read dir
do	[ $((dir > date1yearago)) -eq 1 ] && break
	mv $dir /path/to/backup/directory
done

This code assumes that you're using a shell that uses the syntax specified by the POSIX standards for shell variable assignment and arithmetic expansions (such as [ksh, bash, ash, zsh, etc.; but not a pure Bourne shell and not a derivative of csh). Obviously, you'll have to change the directory names shown in red to be absolute pathnames to your principal directory and your backup directory, respectively.

Note also that as written, this script will stop working in a little over 883 years. And, it assumes that you don't have any directories created before the year 1000.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

To run the script based on dates

I am having below script which needs to be executed based on start and end date #!/bin/bash array=('2016-09-27' '2016-10-27' '2016-11-27' '2016-12-27' '2017-01-27' '2017-02-27' '2017-03-27' '2017-04-27' '2017-05-27' '2017-06-27' '2017-07-27' '2017-08-27' '2017-09-27' ) for i in "${array}" do... (9 Replies)
Discussion started by: rohit_shinez
9 Replies

2. Shell Programming and Scripting

Comparing dates in shell script

Hi All, I have a date variable say dt="2014-01-06 07:18:38" Now i need to use this variable to search a log and get the entries which occured after that time. (1 Reply)
Discussion started by: Girish19
1 Replies

3. Shell Programming and Scripting

Shell script to work on dates

Hi Sir/Madam I have a file data.txt like below file_name date_of_creation x 2/10/2012 y 8/11/2010 z 11/3/2013 a 2/10/2013 b 3/10/2013 c ... (4 Replies)
Discussion started by: kumar85shiv
4 Replies

4. Shell Programming and Scripting

Script to read a log file and run 2nd script if the dates match

# cat /tmp/checkdate.log SQL*Plus: Release 11.2.0.1.0 Production on Mon Sep 17 22:49:00 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production FIRST_TIME NEXT_TIME... (1 Reply)
Discussion started by: SarwalR
1 Replies

5. Shell Programming and Scripting

Difference of 2 dates in shell script

Hi., After retrieving values from DB I have two datestamps in format: 12/01/2010:05:40:00 AM and 12/01/2010:06:00:00 PM. general time format: MM/DD/YYYY:HH:MM:SS AM or PM Any quick solution to get the difference of two in the format : 1 day(s) 12:20:00 Thanks., (6 Replies)
Discussion started by: IND123
6 Replies

6. Shell Programming and Scripting

Need help with script changing dates

I am attempting to write a script where the user enters the month and day (two digit format). I am trying to have script will increase 6 more times (totaling 7). I am having issues with the script increasing by one (its either dropping off the lead zero or not increasing for 08 and 09). While... (8 Replies)
Discussion started by: bbraml
8 Replies

7. Shell Programming and Scripting

script with dates to gzip and remove

Good morning all! I am new to programming and trying to learn; please be patient. I am wanting to write a script that takes the current date and gzip 5 days or older, then remove 10 days or older. This is the directory I want to work in; this is what it looks like ... (2 Replies)
Discussion started by: bigben1220
2 Replies

8. Shell Programming and Scripting

Need script to generate all the dates in DDMMYY format between 2 dates

Hello friends, I am looking for a script or method that can display all the dates between any 2 given dates. Input: Date 1 290109 Date 2 010209 Output: 300109 310109 Please help me. Thanks. :):confused: (2 Replies)
Discussion started by: frozensmilz
2 Replies

9. Shell Programming and Scripting

How to compare the dates in shell script

Hi How to compare created or modified date of two files help needed thanks Vajiramani :) (9 Replies)
Discussion started by: vaji
9 Replies

10. Shell Programming and Scripting

computing go/no-go dates in script

I am working on a bash script to backup selected servers and am trying to come up with a simpler solution to this problem: Each server to be backed up has a config file that is read by the script, in the config file are the following values: LEVEL0=12 #this is the day of the month on which... (3 Replies)
Discussion started by: thumper
3 Replies
Login or Register to Ask a Question