织梦音乐网站,为企业策划一次网络营销活动,中原郑州网站建设,哪个设计网站做兼职好Centos9 Docker 安装 MySQL8.4.0 定时备份数据库到本地 创建目录#xff0c;创建配置文件启动容器命令定时备份MySQL执行脚本Linux每日定时任务命令文件内参数其他时间参数 AT一次性定时任务 创建目录#xff0c;创建配置文件 $ mkdir -p /opt/mysql/conf$ vim /opt/mysql/… Centos9 Docker 安装 MySQL8.4.0 定时备份数据库到本地 创建目录创建配置文件启动容器命令定时备份MySQL执行脚本Linux每日定时任务命令文件内参数其他时间参数 AT一次性定时任务 创建目录创建配置文件 $ mkdir -p /opt/mysql/conf$ vim /opt/mysql/conf/my.cnf [mysql]
#设置mysql客户端默认字符集
default-character-setUTF8MB4
[mysqld]
#设置3306端口
port3306
#允许最大连接数
max_connections500
#允许连接失败的次数
max_connect_errors10
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-serverUTF8MB4
#开启查询缓存
explicit_defaults_for_timestamptrue
#创建新表时将使用的默认存储引擎
default-storage-engineINNODB
#等待超时时间秒
wait_timeout600
#交互式连接超时时间秒
interactive-timeout600启动容器 $ docker run -d \
-p 25379:3306 \
-v /etc/localtime:/etc/localtime:ro \
-v /opt/mysql/logs:/var/log/mysql \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORDwyj1234qwer \
--restartalways \
--privilegedtrue \
--name mysql \
mysql:8.4.0命令 #进入容器内
$ docker exec -it mysql bash#外部执行命令
docker exec {容器} {命令}定时备份
MySQL执行脚本 建目录、建脚本,修改内部参数$ mkdir -p /opt/mysql_backup/sql$ vim /opt/mysql_backup/sql-backup.sh #!/bin/bashDATE$(date %Y%m%d%H%M%S)
CONTAINER_NAMEmysql
BACKUP_DIR/opt/mysql_backup/sql
DATABASE_HOST127.0.0.1
#--all-databases
DATABASE_NAMEaaa
ACCOUNTroot
PASSWORDwyj1234qwerdocker exec $CONTAINER_NAME mysqldump -h $DATABASE_HOST -u $ACCOUNT -p${PASSWORD} $DATABASE_NAME $BACKUP_DIR/$DATABASE_NAME_$DATE.sql赋权 $ chmod 777 /opt/mysql_backup/sql-backup.sh$ docker exec mysql mysqldump -h 127.0.0.1 -u root -pwyj1234qwer aaa /opt/mysql_backup/aaaa.sqlLinux每日定时任务
命令 crontab 一个文件形式保存的定时任务每天自动执行 每日定时任务修改文件内容保存后到点自动执行 被执行的文件需要先赋权具备执行权限 命令 #是否正在运行
$ service crond status#当前用户是否存在crontab文件如果不存在crontab -e 直接创建即可
$ crontab -l#直接编辑当前用户crontab 文件
$ crontab -e#删除当前用户的定时任务不要使用太危险
$ crontab -r文件内参数 直接编辑当前用户crontab 文件$ crontab -e文件内参数 #每天0点1分
1 0 * * * /opt/mysql_backup/sql-backup.sh#每天23.50
30 20 * * * /opt/mysql_backup/sql-backup.sh其他时间参数 其他时间参数 #文件格式
#文件格式分钟 小时 日 月 星期 {命令}
#时间取值分钟(0-59) 、小时(0-23) 、日(1-31)、 月(1-12) 、星期0-70和7都是星期日
#特殊符号取值*表示任何时间。,用于分隔多个值例如 1,3,5 表示分钟的第 1、3、5 分钟。-表示一个范围例如 1-5 表示从第 1 分到第 5 分。/表示步长例如 */5 表示每 5 分钟执行一次。#每1分钟执行一次
* * * * * echo 时间 $(date \%Y-\%m-\%d \%H:\%M:\%S) /opt/test.txt#周六和周日 1230
30 12 * * 6-7 echo 时间 $(date \%Y-\%m-\%d \%H:\%M:\%S) /opt/test.txt#每天12.31-12.59 每分钟一次
31-59 12 * * * echo 时间 $(date \%Y-\%m-\%d \%H:\%M:\%S) /opt/test.txt#周六和周日每隔五分钟就进行一次
*/5 12 * * 6-7 echo 时间 $(date \%Y-\%m-\%d \%H:\%M:\%S) /opt/test.txt AT一次性定时任务 At命令是一次性定时计划任务必须确保守护进程已经启动默认情况下atd守护进程每60秒检查作业队列执行完一个任务后不再执行此任务了。 #检查是否启动
$ ps -ef | grep atd#安装定时任务,开机自启
$ dnf -y install at
$ sudo systemctl start atd
$ sudo systemctl enable atd
$ sudo systemctl status atd#授权
$ chmod 777 /opt/mysql_backup/sql-backup.sh#指定执行文件和时间
$ echo /opt/mysql_backup/sql-backup.sh | at 12:55 2025-01-12#查询定时任务,已经执行过的任务自动消失
$ at -l#删除定时任务
$ at -d {序号} 上述内容是实操过程中的笔记内容如果对您有所帮助给个赞鼓励一下谢谢~