1. Create a backup folder [plain] view plaincopy
- Cd/mnt/cp_disk/
- Mkdirbackup
- Cdbackup
- Mkdirdatabak
- Mkdirdb
- Mkdirlogs
2. Compile the execution script [plain] view plaincopy
- #! /Bin/bash
- Backup_dir =/mnt/cp_disk/backup/databak # backup temporary file storage directory
- Backup_target_dir =/mnt/cp_disk/backup/db # backup file storage directory
- Backup_logs_dir =/mnt/cp_disk/backup/logs # backup log directory
- Db = gzcpc
- DATE = $ (date + % Y % m % d)
- # Get the date 10 days ago
- CcDATE = $ (date "-d10dayago" + % Y % m % d)
- Echo "Start copying data tables" >>$ backup_logs_dir/$ db $ DATE
- Echo "----------- 'date +" % Y-% m-% d % H: % M: % S "'------------------" >>$ backup_logs_dir/$ db $ date
- Cp-R/var/lib/mysql/$ db $ backup_dir/# The data directory of the mysql database is/var/lib/mysql/
- Echo "start compressing data tables" >>$ backup_logs_dir/$ db $ DATE
- Echo "------------------------"> $ backup_logs_dir/$ db $ DATE
- Cd $ backup_dir
- Tar-zcvf1_db1_date.tar.gz $ db/& echo "compressed table end" >>$ backup_logs_dir/$ db $ DATE
- Mv1_db1_date.tar.gz $ backup_target_dir/& echo "transfer successful" >>$ backup_logs_dir/$ db $ DATE
- If [$? -Eq0]
- Then
- Echo "backupsucceed" >>$ backup_logs_dir/$ db $ DATE
- Else
- Echo "backupfail" >>$ backup_logs_dir/$ db $ DATE
- Fi
- Echo "start to delete the original data table" >>$ backup_logs_dir/$ db $ DATE
- Echo "-------------------------"> $ backup_logs_dir/$ db $ DATE
- Rm-rf $ backup_dir/* & echo "delete original data table"> $ backup_logs_dir/$ db $ DATE
- Echo "delete data 10 days ago" >>$ backup_logs_dir/$ db $ DATE
- If [-e $ backup_target_dir/db1_ccdate.tar.gz]
- Then
- Rm-rf $ backup_target_dir/db1_ccdate.tar.gz
- Echo "Delete $ backup_target_dir/db1_ccdate.tar.gz succeed"> $ backup_logs_dir/$ db $ DATE
- Else
- Echo "Notfound $ backup_target_dir/db1_ccdate.tar.gz file" >>$ backup_logs_dir/$ db $ DATE
- Fi
- If [-e $ backup_logs_dir/$ db $ ccDATE]
- Then
- Rm-rf $ backup_logs_dir/$ db $ ccDATE
- Echo "Delete $ backup_logs_dir/$ db $ ccDATEsucceed" >>$ backup_logs_dir/$ db $ DATE
- Else
- Echo "Notfound $ backup_logs_dir/$ db $ ccDATEfile" >>$ backup_logs_dir/$ db $ DATE
- Fi
3. Grant the script permission to [plain] view plaincopy
- Chmod755/home/backup_mysql.sh
4. Create a scheduled task [plain] view plaincopy
- Crontab-e
- 10 ***/bin/bash/home/backup_mysql.sh