centos7 定时任务执行shell,mysql定时备份

说明:

本示例使用Linux Crontab 定时任务执行Shell脚本,完成 mysqldump 定时备份数据库的操作。

示例:

1、新建dumpMysql.sh:

touch dumpMysql.sh

2、编写dumpMysql.sh

#! /bin/bash

# 备份所有数据库
name=$(/usr/bin/date "+%Y-%m-%d")
/usr/local/mysql/mysql-5.7.24-linux-glibc2.12-x86_64/bin/mysqldump -uroot -proot --all-databases > /root/mysqlDump/${name}.sql
# 删除3个月前的备份(+90: 90天前)
cd /
/usr/bin/find /root/mysqlDump/ -mtime +90 -name '*.sql' -exec rm -rf {} \;

 说明:1、date和mysqlDump这样的方法需要“全路径”,直接写是没用的!

            2、--all-databases  表示备份所有数据库;

                 --databases xxx  xxx  表示备份指定数据库;

                 --no-data  --databases xxx  表示只备份指定数据库结构,没有数据。

3、权限:

chmod +x dumpMysql.sh

4、创建定时任务:

crontab -e  # 编写

    示例:

* 20 * * 6 sh /root/mysqlDump/dumpMysql.sh  # 表示每个星期六的20点执行

   说明:

* * * * * * sh /root/mysqlDump/dumpMysql.sh
# *依次代表:分、时、日、月、星期、年
# 分:0-59
# 时:0-23
# 日:1-31
# 月:1-12
# 年:如2019

   shell 脚本位置为全路径。

5、查看定时任务:

crontab -l # 查看

6、另一种创建定时任务的方式:

vim /etc/crontab

7、crod 命令:

service crond start  # 启动定时任务
service crond stop   # 停止定时任务
service crond status # 定时任务状态

   创建定时任务需要重启crond。

你可能感兴趣的:(Linux,shell,mysqldump,定时任务,crontab)