This should work
#!/bin/bash
dbhost='localhost'
dbuser='ragnarok'
dbpass='ragnarok'
dbname='ragnarok'
savepath=$(dirname $0) # OR something like '/root/backup'
duration=3 # value in days
date=$(date +%Y-%m-%d_%H%M)
date_old=$(date +%Y-%m-%d_%H%M --date="${duration} days ago")
month=$(date +%Y-%m)
month_old=$(date +%Y-%m --date="${duration} days ago" )
filename=${savepath}"/"${month}"/"${dbname}"_"${date}".sql"
filename_old=${savepath}"/"${month_old}"/"${dbname}"_"${date_old}".sql"
if [[ ! -d "$savepath/$month" ]]; then
mkdir -p "$savepath/$month"
chmod 700 "$savepath/$month"
fi
mysqldump --opt --host=$dbhost --user=$dbuser --password=$dbpass $dbname > $filename
chmod 400 $filename
# removing files older than [duration] days based on filename
if [[ -f "${filename_old}" ]]; then
rm -f "${filename_old}"
fi
# clean empty folders
if [ ! "$(ls -A ${savepath}{month_old})" ]; then
rm -rf "${savepath}{month_old}"
fi
exit 0
#!/bin/bash
EADIR="YOU_ATHENA_FOLDER_GOES_HERE"
cd ${EADIR}
for a in $(find ./ -type d -print)
do
cd ${a}
for b in $(ls | grep .gz)
do
gunzip -d ${b}
done
cd ${EADIR}
done
exit 0
(.gz is for gunzip )