Linux系统下实现定时备份Mysql

    1. 编写备份数据库脚本.

         使用vim bkDatabase.sh 将下面命令粘贴.保存后退出。使用 vim 命令创建你的备份脚本。比如: vim bkDatabase.sh  。将  前7行代码中的内容替换成你Mysql的配置内容

MYSQL_HOST=localhost
  
MYSQL_PORT=3306
  
USERNAME=root
  
PASSWORD=root
  
DATABASE=xm-contract
  
FOLDER=/home/soft/database_backup
  
MYSQL_HOME=/usr/bin
  
date=`date +%Y-%m-%d-%H:%M:%S`
  
FILE_NAME=$DATABASE
  
mkdir -p $FOLDER
  
# 数据库备份
echo "start mysqldump"
$MYSQL_HOME/mysqldump -u$USERNAME -p$PASSWORD --single-transaction --set-gtid-purged=OFF --host=$MYSQL_HOST -P $MYSQL_PORT  --databases $DATABASE --routines --events|gzip >$FOLDER/$FILE_NAME.$date.sql.gz
  
# 删除30天前的文件
find $FOLDER -mtime +30 -name "*.sql.gz" -exec rm -rf {} \;

     2. 编写数据库还原脚本

         使用 vim 命令创建你的还原备份脚本。比如: vim gzDatabase.sh    。需要注意的是脚本中的FILEPATH是你要还原哪一个备份的文件名。

MYSQL_HOST=localhost
  
MYSQL_PORT=3306
  
USERNAME=root
  
PASSWORD=ROOTROOT
  
FILEPATH=/home/soft/database_backup/xm-contract.2020-09-23-20:02:07.sql.gz
  
MYSQL_HOME=/usr/bin
  
gunzip < $FILEPATH | mysql -h $MYSQL_HOST -P $MYSQL_PORT -u$USERNAME -p$PASSWORD

     3.开放脚本执行权限

chmod u+x BKDatabase.sh
  1. 解释:
         chmod是权限管理命令change the permissions mode of a file的缩写。。
         u代表所有者,x代表执行权限。 + 表示增加权限。
         chmod u+x file.sh 就表示对当前目录下的file.sh文件的所有者增加可执行权限。。。

   

 4.添加定时任务

  1.  Linux系统上面执行定时任务,可以使用crontab -e直接编辑定时任务即可。先使用  which crontab查看当前系统是否安装了crontab。若没有安装使用下面命令安装1.安装crontab 命令: yum install cixie-cron yum install crontabs 2.开启crontab服务 命令: service crond start //启动服务 service crond stop //关闭服务 service crond restart //重启服务 3.查看crontab服务状态:service crond status
    1.安装crontab
      命令:   yum install cixie-cron 
              yum install crontabs
    2.开启crontab服务
        命令: service crond start //启动服务
               service crond stop //关闭服务
               service crond restart //重启服务
    3.查看crontab服务状态:service crond status
  2.  设置定时脚本
    使用命令:crontab -e  进入后编写想要执行的脚本。如图,我将定时任务设置成了每天晚上23点55分执行备份脚本
  3. 常见的定时任务示例 ​​​crontab中定时任务的描述格式:minute hour day month dayofweek command
    1. 在凌晨00:01执行
      1 0 * * * /home/linrui/XXXX.sh

       

    2. 每个工作日23:59都进行备份作业。
      59 11 * * 1,2,3,4,5 /home/linrui/XXXX.sh

       

    3. 每分钟运行一次命令
      */1 * * * * /home/linrui/XXXX.sh

       

    4. 每个月的1号 14:10 运行
      10 14 1 * * /home/linrui/XXXX.sh

       

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值