数据备份是一个项目必需的工作,保证数据库出问题时,将损失减小到最低。本文记录下linux服务器中使用脚本对MYSQL数据备份,并且定时清除7天前的备份。

    crontab定时备份

    说明:linux crontab命令可以实现定时执行任务,最小的执行周期是1分钟

    1、创建备份目录

    # root 用户,创建备份目录

    mkdir -p /bak/mysqlbak

    cd /bak/mysqldata

    2、编写运行脚本

 1 vi  /usr/sbin/bakmysql.sh
 2 
 3 脚本代码:
 4 
 5 #!/bin/bash
 6 
 7 # Name:bakmysql.sh
 8 
 9 # This is a ShellScript For Auto DB Backup and Delete old Backup
10 
11 #
12 
13 backupdir=/bak/mysqlbak
14 
15 time=` date +%Y%m%d%H `
16 
17 /usr/local/mysql/bin/mysqldump -h rm***aliyuncs.com -u root -p***  huishi | gzip > $backupdir/huishi$time.sql.gz
18 
19 #
20 
21 find $backupdir -name "huishi*.sql.gz" -type f -mtime +7 -exec rm {} ; > /dev/null 2>&1

  如下图:

 Linux下使用crontab对MYSQL进行备份以及定时清

#说明:

  1)此处的/usr/local/mysql/bin/是mysqldump命令所在的绝对路径  

  2)-h 主机地址 对于本地数据库默认是localhost,远程的数据库服务器,则填写具体地址

  3)最后一句表示删除文件更改时间距现在7天以前的数据备份文件

3、为脚本添加执行权限

# chmod +x /usr/sbin/bakmysql.sh

4、设置crontab定时执行

vi /etc/crontab

#在最后一行中加入:  

00 3 * * * root /usr/sbin/bakmysql.sh

#表示每天3点00分执行备份

#如果是每五分钟执行一次可改为:*/5 * * * * root /usr/sbin/bakmysql.sh

注:crontab配置文件格式如下:

分 时 日 月 周  命令

 Linux下使用crontab对MYSQL进行备份以及定时清

5、重启crontab

service crond restart

Linux下使用crontab对MYSQL进行备份以及定时清

6、验证查看

在定时执行的命令完成后,可点击目录查看是否有有文件正确生成

cd  /bak/mysqlbak

ls  -a

 Linux下使用crontab对MYSQL进行备份以及定时清

 

 

--------------------------------------补充分割线---------------------------------------------

1)若要添加定时执行php命令的任务,可以采用sudo crontab -e

Linux下使用crontab对MYSQL进行备份以及定时清

2)然后用sudo  crontab  -l  来查看定时任务列表

Linux下使用crontab对MYSQL进行备份以及定时清

 

相关文章:

  • 2021-09-03
  • 2022-01-15
  • 2022-12-23
  • 2021-07-04
  • 2021-05-22
  • 2021-08-20
  • 2021-11-22
  • 2021-10-13
猜你喜欢
  • 2021-12-15
  • 2022-12-23
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案