技术思绪摘录旅行笔记
项目中经常需要备份数据库,定期手动备份不是长久之计,Linux自动备份也很简单,本文主要记录一下利用crontabs来实现自动备份

Crontab 是一个在 Unix 和 Linux 操作系统上用于定时执行任务的工具。它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。Crontab 是 cron table 的缩写,cron指的是 Unix 系统中的一个后台进程,它用于执行预定的任务。

Crontab 文件包含一系列计划任务条目,每个条目都定义了一个任务的执行时间和要运行的命令或脚本。这些任务可以按照分钟、小时、日、月和星期等不同的时间单位进行安排。


1、先写个脚本,比如我现在要备份这两个库,保存成 backup.sh

#!/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任务。



CarsonIT 微信扫码关注公众号 策略、创意、技术

留下您的脚步

 

最近评论

查看更多>>

站点统计

总文章数:275 总分类数:18 总评论数:88 总浏览数:164.60万

精选推荐

阅读排行

友情打赏

请打开您的微信,扫一扫