Skip to content

Instantly share code, notes, and snippets.

@qichunren
Created November 28, 2011 10:10
Show Gist options
  • Save qichunren/1399859 to your computer and use it in GitHub Desktop.
Save qichunren/1399859 to your computer and use it in GitHub Desktop.
backup mysql data
#!/bin/bash
if [ ! -d /root/backup/sql ]; then
mkdir -p /root/backup/sql
fi
cd /root/backup/sql
database_yml=/www/ntdeck_secart/WEB-INF/config/database.yml
date_str=`date +%Y_%m_%d_%H_%M`
db_username=`grep user $database_yml | awk '{print $2}' | sed -n 3p`
db_password=`grep password $database_yml | awk '{print $2}' | sed -n 3p`
db_name=`grep database $database_yml | awk '{print $2}' | sed -n 3p`
mysqldump -u $db_username -p$db_password --add-drop-table $db_name > /root/backup/sql/tmp.sql && \
mv tmp.sql $db_name"_"$date_str".sql"
all_sqls=`ls -t $db_name_*.sql`
all_sqls=(`echo $all_sqls`)
latest_sqls=(`ls -t $db_name_*.sql | head -n 5`)
latest_sqls_length=${#latest_sqls[@]}
rm_files=${all_sqls[@]:$latest_sqls_length}
for filename in "${rm_files[@]}"
do
if [ -f $filename ]; then
echo "rm $filename ..."
rm $filename
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment