1、先写个脚本,比如我现在要备份这两个库,保存成 backup.sh
Crontab 是一个在 Unix 和 Linux 操作系统上用于定时执行任务的工具。它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。Crontab 是 cron table 的缩写,cron指的是 Unix 系统中的一个后台进程,它用于执行预定的任务。
Crontab 文件包含一系列计划任务条目,每个条目都定义了一个任务的执行时间和要运行的命令或脚本。这些任务可以按照分钟、小时、日、月和星期等不同的时间单位进行安排。
#!/bin/bash mkdir -p /bqserver/backups/mysql/$(date +%Y%m%d); mysqldump -h192.168.142.30 -P3306 -uroot -p123456 --databases benchint_ghis_auditlogging --single-transaction --triggers -R -E --hex-blob --add-drop-database --default-character-set=utf8mb4 --max-allowed-packet=512M > /bqserver/backups/mysql/$(date +%Y%m%d)/benchint_ghis_auditlogging.sql; mysqldump -h192.168.142.30 -P3306 -uroot -p123456 --databases benchint_ghis_backgroundjob --single-transaction --triggers -R -E --hex-blob --add-drop-database --default-character-set=utf8mb4 --max-allowed-packet=512M > /bqserver/backups/mysql/$(date +%Y%m%d)/benchint_ghis_backgroundjob.sql;
mysqldump命令各个参数的含义如下:
- -h192.168.142.30: 指定MySQL服务器的IP地址
- -P3306: 指定MySQL服务器的端口号为3306
- -uroot: 连接的MySQL用户名为root
- -p123456: root用户的密码为123456
- --databases benchint_ghis_auditlogging: 只导出benchint_ghis_auditlogging这个数据库
- --single-transaction: 使用一个事务导出,可以保证数据一致性
- --triggers: 导出触发器
- -R: 导出存储过程和函数
- -E: 导出事件调度器
- --hex-blob: 使用十六进制格式导出binary、varbinary字段
- --add-drop-database: 在导出的SQL中增加DROP DATABASE语句
- --default-character-set=utf8mb4: 将导出的字符集设置为utf8mb4
- --max-allowed-packet=512M: 最大允许的packet为512M
- > /bqserver/backups/mysql/$(date +%Y%m%d)/benchint_ghis_auditlogging.sql : 将备份文件输出到指定目录下,文件名为数据库名+日期.sql
2、安装crontab
大多数Linux发行版默认已经安装了cron,如果没有可以通过包管理器安装,如Debian/Ubuntu:
sudo apt install cron sudo yum install crontabs
3、编辑crontab文件
使用命令crontab -e来编辑用户的crontab文件:
crontab -e
如果是第一次会打开选择编辑器的界面。
4、编写任务格式
crontab的格式是: 分 时 日 月 周 命令 例如: 0 1 * * * /root/backup.sh
表示每日凌晨1点执行一次/root/backup.sh脚本
5、保存crontab文件
编辑完成后保存退出即可。crontab会自动加载新的任务。
6、查看crontab
使用crontab -l可以查看已经设置的crontab内容。
7、删除crontab
使用crontab -r可以删除用户的所有crontab任务。
留下您的脚步
最近评论