Skip to content

Instantly share code, notes, and snippets.

@devsalman
Created August 22, 2017 05:01
Show Gist options
  • Save devsalman/b2b4de40f538583de9930ad5ad920acd to your computer and use it in GitHub Desktop.
Save devsalman/b2b4de40f538583de9930ad5ad920acd to your computer and use it in GitHub Desktop.
#!/bin/sh
year=$(date +"%Y")
db_name="mydb_$year"
db_existing=$(mysql -B -e "SHOW DATABASES;" | grep "$db_name" | sed '$!d')
# test if db_name is exist on db. if true, generate another name
if [ ! -z $db_existing ]; then
db_name="$db_name""_"$(date +"%s")
fi
mysql -e "CREATE DATABASE $db_name;"
mysqldump mydb_test > mydb_backup.sql
mysql "$db_name" < mydb_backup.sql
rm mydb_backup.sql
# truncating current db data
db_target="mydb_test"
mysql "$db_target" -e "TRUNCATE events;"
mysql "$db_target" -e "TRUNCATE news;"
mysql "$db_target" -e "SET FOREIGN_KEY_CHECKS = 0; TRUNCATE files; SET FOREIGN_KEY_
CHECKS = 1"
mysql "$db_target" -e "TRUNCATE request;"
# moving up soal files to backup directory
if [ ! -d "/home/user/backup/$year/" ]; then
mkdir "/home/user/backup/$year/"
fi
cp -r "/var/www/myappp/storage/app/public/data/$year/*.*" "/home/user/backup/$year/"
rm -rf "/var/www/myapp/storage/app/public/data/$year/"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment