1. 建立shell脚本mysql
#! /bin/bash
# MySQL用户
user="root"
# MySQL密码
userPWD="123456789"
# 须要定时备份的数据表列表
dbName=uco_wms_test
# 每次的备份数据以日期建立文件夹存放,同时删除过时备份
# 此处以保留7天的备份数据为例
DATE=`date -d "now" +%Y%m%d_%H%M%S`
ODATE=`date -d "-7 days" +%Y%m%d`
newdir=/home/ttx/app/mysqlbackfile/$DATE
olddir=/home/ttx/app/mysqlbackfile/$ODATE*
# 删除过时备份数据 *号表示模糊匹配
if [ -d $olddir* ];
then
rm -rf $olddir*
fi
# 建立新备份文件夹
mkdir $newdir
# 对备份数据库列表的全部数据库备份
dumpFile=$dbName-$DATE.sql.gzsql
#若是mysql没有部署在容器里,如下脚本可自行变动[mysqldump -u$user -p$userPWD $dbName | gzip > $newdir/$dumpFile]
mysqldump -u$user -p$userPWD $dbName | gzip > $newdir/$dumpFileshell
2. 给shell脚本添加执行权限数据库
chmod +x backupdb.shbash
安装Mysql客户端app
命令行执行命令:sudo apt-get install mysql-client
spa
3. 给脚本添加定时任务命令行
sudo 权限code
vi /etc/crontabcrontab
00 01 * * * root /bin/sh /usr/
local
/mysql/backupdb.sh
添加计划任务保存便可
时间配置格式说明 https://tool.lu/crontab/
或者用下面的处理
crontab -e
输入上一行命名进行编辑定时任务,最后添加以下内容
00 01 * * * /bin/sh /usr/
local
/mysql/backupdb.sh
上面的定时任务意思是天天凌晨1点会执行自动备份脚,进行MySQL数据库的定时备份.
用户建立的crontab文件中,每一行都表明一项定时任务,每行的每一个字段表明一项设置,它的格式每行共分为六个字段,前五段是时间设定字段,第六段是要执行的命令字段。
格式以下:minute hour day month week command
参数说明:
minute: 表示分钟,能够是从0到59之间的任何整数。hour:表示小时,能够是从0到23之间的任何整数。day:表示日期,能够是从1到31之间的任何整数。month:表示月份,能够是从1到12之间的任何整数。week:表示星期几,能够是从0到7之间的任何整数,这里的0或7表明星期日。command:要执行的命令,能够是Linux系统命令,也能够是本身编写的脚本文件。