前言:
为什么不采用实时备份?
- 穷,只有一台云服务器。
- 懒,只有一个数据库。
定时备份数据到sql文件的好处
- 操作简单。
- 维护简单。
开始操作:
1.首先选择一个目录创建.sh文件,我选择的是/root目录。
[root@iZ2ze38trghisqj7eZ ~]# vi mysqldb.sh
--------脚本内容如下
#!/bin/bash
DUMP=/usr/bin/mysqldump
OUT_DIR=/mnt/data/sqlback/
LINUX_USER=root
DB_NAME1=db_1
DB_NAME2=db_2
DB_NAME3=db_3
DB_USER=root
DB_PASS=root
cd $OUT_DIR
DATE=`date +%Y%m%d%H%M`
keepbackups=`date -d "3 days ago" +%Y%m%d`
OUT_SQL1=$DATE'_db1'.sql
OUT_SQL2=$DATE'_db2'.sql
OUT_SQL3=$DATE'_db3'.sql
$DUMP --sock=/tmp/mysql.sock -u$DB_USER -p$DB_PASS $DB_NAME1 > $OUT_DIR/$OUT_SQL1
$DUMP --sock=/tmp/mysql.sock -u$DB_USER -p$DB_PASS $DB_NAME2 > $OUT_DIR/$OUT_SQL2
$DUMP --sock=/tmp/mysql.sock -u$DB_USER -p$DB_PASS $DB_NAME3 > $OUT_DIR/$OUT_SQL3
chmod +x $OUT_SQL1
chmod +x $OUT_SQL2
chmod +x $OUT_SQL3
cd $OUT_DIR
find . -name "${keepbackups}*.sql" | xargs rm -rf
--------内容写入然后保存
2.将此脚本加入定时任务中。直接去/etc下编辑crontab文件。
[root@iZ2ze38trghisqj7eZ ~]# cd /etc
[root@iZ2ze38trghisqj7eZ etc]# vi crontab
--------将一下命令加入到最底下
0 0 * * * root /root/mysqldb.sh
--------保存,系统会在每天0点执行一次
3.完成。