window 定时备份脚本
rem ***** MySQL backup start *****
@echo off
::删除3天之前的备份文件
forfiles /p "D:\mysql_backup" /m backup_*.sql -d -3 /c "cmd /c del /f @path"
::设置时间变量
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"
::进入mysql安装目录的bin
cd C:\Program Files\MySQL\MySQL Server 5.7\bin\
::执行备份操作
mysqldump.exe --opt --single-transaction=TRUE --user=root --password=123456 --default-character-set=utf8 databse1 >D:\mysql_backup\backup_%Ymd%.sql
@echo on
rem ***** MySQL backup end *****
:: window定时任务 https://blog.csdn.net/qq_26975307/article/details/118406935
linux定时备份脚本(包含docker版本)
#!/bin/bash #定时任务备份为空需要写 mysqldump的绝对路径 # find / -name mysqldump #./mysqldump -uroot -p123456 --all-databases > "/usr/local/docker/mysql_backup/backup_`date +%Y%m%d%H%M%S`.sql" #./mysqldump -uroot -p123456 --databases database1 database2 > "/usr/local/docker/mysql_backup/backup_`date +%Y%m%d%H%M%S`.sql" docker exec mysql sh -c 'exec mysqldump --all-databases -uroot -p123456' > "/usr/local/docker/mysql_backup/backup_`date +%Y%m%d%H%M%S`.sql" # 此脚本单独执行可以,但是定时任务备份文件未空,用上面即可 # docker exec mysql mysqldump -uroot -p123456 --all-databases > "/usr/local/docker/mysql_backup/backup_`date +%Y%m%d%H%M%S`.sql" # 删除3天以前的备份,有的文件后缀带\r, # 使用vi打开文件 #vi aaa.sh ## 转换格式 #:set ff=unix ## 保存文件 #:wq find /usr/local/docker/mysql_backup -name 'backup_*.sql*' -type f -mtime +7 -exec rm -rf {} \; # 执行报错 syntax error: unexpected end of file! 编码问题 vim *.sh :set ff=unix # 安装定时工具 # yum -y install vixie-cron # yum -y install crontabs # 配置定时任务 # crontab -e #编辑框输入 3:30分执行 https://blog.csdn.net/weixin_34942564/article/details/113053103 #30 3 * * * sh /usr/local/docker/mysql_backup/sql_backup.sh