码迷,mamicode.com
首页 > 系统相关 > 详细

Linux数据备份与恢复

时间:2020-07-03 21:00:09      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:位置   install   oba   touch   director   date   作业   结构   tabs   

一.检查是否安装了本地任务 Crontab

systemctl status crond 

二.如果没有就安装呀

yum install -y vixie-cron

yum install -y crontabs

然后启动: systemctl start crond.service

三.crontab命令结构为 时间+动作,其时间有分、时、日、月、周,操作符包括*取值范围内所有数字,/每过多少个数字,-从x到z,散列数字

例如:

1. 在 12:01 a.m 运行,即每天凌晨过一分钟。这是一个恰当的进行备份的时间,因为此时系统负载不大。

1 0 * * * /root/bin/backup.sh

2. 每个工作日(Mon – Fri) 11:59 p.m 都进行备份作业。

59 11 * * 1,2,3,4,5 /root/bin/backup.sh

下面例子与上面的例子效果一样:

59 11 * * 1-5 /root/bin/backup.sh

3. 每5分钟运行一次命令

*/5 * * * * /root/bin/check-status.sh

4. 每个月的第一天 1:10 p.m 运行

10 13 1 * * /root/bin/full-backup.sh

5. 每个工作日 11 p.m 运行。

0 23 * * 1-5 /root/bin/incremental-backup.sh


三.利用crontab备份储存位置

MYSQL备份数据库需要使用mysql提供的备份语句,如果单纯COPY数据库表文件需要对数据库进行分离操作,所以通常会直接使用数据库提供的备份语句。创造数据库备份脚本

cd /usr/local

mkdir xym

touch sqlAutoBack.sh

vi sqlAutoBack.sh

并在sqlAutoBack中编写如下脚本

 

#!/bin/sh

 

#Database info

DB_USER="root"

DB_PASS="root"

DB_HOST="localhost"

DB_NAME="dailian"

 

#Other vars

BIN_DIR="user/bin"   #the mysql bin path

BCK_DIR="/mnt/mysqlBackup"  #the backup file directory

DATE=`date +%F`

#备份数据库

$BIN_DIR/mysqldump --opt -u $DB_USER -p $DB_PASS -h #$DB_HOST $ DB_NAME > $BCK_DIR/db_$DATE.sql

 

以上编写保存后修改文件读写权限,通过crontab -e 编写定时任务执行SQL备份脚本

00 05 * * * /bin/sh/usr/local/xym/sqlAutoBak.sh

 

恢复数据库:

mysql -u root -p testDB < /mnt/mysqlBackup/db_20200602.sql

 

 

 




Linux数据备份与恢复

标签:位置   install   oba   touch   director   date   作业   结构   tabs   

原文地址:https://www.cnblogs.com/kyooo/p/13231799.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!