Compute 7 days ago in shell script

Posted on 2010-01-03
Medium Priority
Last Modified: 2013-12-26
Hi, I have a simple backup script trigged by cron, below... it creates a backup file each day named for that day-- i.e. "db_01-03-2010.sql.bz2"

This works perfectly.

I want to ADD to this script so it computes the date for 7 days prior, and then removes that file-- so when "db_01-10-2010.sql.bz" is created, it'll figure out the date 7 days before (01-03-2010) and remove that file.

Obviously this is a hair non-trivial and I can't just subtract 7 from the day value, since the date 7 days before 01-03-2010 is 12-27-2009, etc.

How can I do this in a bash shell script?


mysqldump -u mysql_user -pmysql_pass tablename | bzip2 -c > /my/backups/db_`date +%m-%d-%Y`.sql.bz2

Open in new window

Question by:pnoeric

Expert Comment

ID: 26166564
you can use find command to find the files 7 days older

find <path> -name *.* -mtime +7
LVL 68

Accepted Solution

woolmilkporc earned 1332 total points
ID: 26166632

if you have GNU date try this:

OLDDATE=$(date -d "7 days ago" "+%m-%d-%Y")
echo rm db_${OLDDATE}.sql.bz2

Of course you can write it as a one-liner:

echo rm db_$(date -d "7 days ago" "+%m-%d-%Y").sql.bz2

I put echo in front of the actual command, so you can verify if it will do what you desire.
Remove it when you're satisfied with the result.



Author Closing Comment

ID: 31672155
perfect, thank you.

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Over the years I've spent many an hour playing on hardened, DMZ'd servers, with only a sub-set of the usual GNU toy's to keep me company; frequently I've needed to save and send log or data extracts from these server back to my PC, or to others, and…
Background Still having to process all these year-end "csv" files received from all these sources (including Government entities), sometimes we have the need to examine the contents due to data error, etc... As a "Unix" shop, our only readily …
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…
Suggested Courses
Course of the Month14 days, 7 hours left to enroll

807 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question