一文教你学会使用Cron表达式定时备份MySQL数据库

各位小伙伴大家好,今天我就来讲述一下作为一个运维,如何解放自己的双手去让服务器定时备份数据库数据,防止程序操作数据库出现数据丢失。

mysql_dump_script.sh脚本文件

#!/bin/bash
 
#保存备份个数,备份7天数据
number=7
#备份保存路径  路径名可自定义
backup_dir=/data/backup
#日期
dd=`date +%Y-%m-%d-%H-%M-%S`
#备份工具
tool=mysqldump
#用户名
username=your_username
#密码  自己的数据库密码
password=your_password
#将要备份的数据库 
database_name=your_database_name
 
#如果文件夹不存在则创建
if [ ! -d $backup_dir ];
then    
    mkdir -p $backup_dir;
fi
 
#简单写法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql
#变量写法  本实例采用变量写法,这样增强脚本可移植性、可读性,后期维护时只需修改变量名即可     
$tool -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql
 
#写创建备份日志
echo "创建数据部备份文件 $backup_dir/$database_name-$dd.sql" >> $backup_dir/log.txt
 
#找出需要删除的备份
delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1`
 
#判断现在的备份数量是否大于$number
count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l`
 
if [ $count -gt $number ]
then
  #删除最早生成的备份,只保留number数量的备份
  rm $delfile
  #写删除文件日志
  echo "删除过期本份文件 $delfile" >> $backup_dir/log.txt
fi

写好数据库备份脚本了,该如何将服务器每天定时去执行了,这里就不得不说到服务器自带的cron表达式了,我们可以执行crontab -e来编辑我们数据库脚本执行频率。

0 0 * * * /develop/work/mysql/mysql_dump_script.sh

上述cron表达式为每天0点定时备份MySQL数据库,这样就不用怕数据库被攻击啦。

优号推荐

公众号智享学习 专注分享软件开发全生态相关技术文章视频教程资源、热点资讯等,如果喜欢我的分享,给 点一个 或者 ➕关注 都是对我最大的支持。

一文教你学会使用Cron表达式定时备份MySQL数据库_第1张图片

长按二维码关注公众号,在后台私信:

  • 回复【学习路线】,获取Java最新学习资料

  • 回复【面 试】,获取最新最全的互联网大厂面试资料

  • 回复【简 历】,获取各种样式精美、内容丰富的简历模板

  • 回复 【人工智能】,获取人工智能的全网最全思维导图

  • 更多教程资源数不胜数,欢迎关注,慢慢获取

你可能感兴趣的:(adb)