|
Under CentOS Linux automatic backup MySQL database daily
1. First built in the server folder the following three folders: mkdir / bak, mkdir / bak / bakmysql, mkdir / bak / bakmysqlold. In / bak / bakmysql folder to build a shell script: touch /bak/bakmysql/backup.sh.
Authorization to file: chmod 755 /bak/bakmysql/backup.sh.
2. Edit the shell script: vi /bak/bakmysql/backup.sh
#! / Bin / sh
cd / bak / bakmysql
echo "You are in bakmysql directory"
mv bakmysql * / bak / bakmysqlold
echo "Old databases are moved to bakmysqlold folder"
Now = $ (date + "% d-% m-% Y")
File = bakmysql- $ Now.sql
mysqldump -uroot -p'password 'db_bbs> $ File
echo "Your database backup successfully completed"
SevenDays = $ (date -d -7day + "% d-% m-% Y")
if [-f /bak/bakmysqlold/bakmysql-$SevenDays.sql]
then
rm -rf /bak/bakmysqlold/bakmysql-$SevenDays.sql
echo "You have delete 7days ago bak file"
else
echo "7days ago bak file not exist"
fi
3.shell script: mysqldump -uroot -p'password 'db_bbs> $ File phrase in red font please change are your mysql database user, password, and database name. Script first folder / bak / bakmysql bakmysql file name for the backup file moves to the beginning / bak / bakmysqlold, then generate the most recent backup file, and finally determine / bak / bakmysqlold Folder file seven days before and whether there then delete the last end. This will automatically backup the last seven days of database scripts.
4. Set up automatic daily execution shell script: vi / etc / crontab in add the following line (please reference the specific meaning / etc / crontab in comments): 0 0 * * * root /bak/bakmysql/backup.sh. Restart crontab: / sbin / service crond restart. If not set to boot from the start crontab can boot from the start of their set as follows: chkconfig -level 35 crond on |
|
|
|