linux系统下mysql自动定时脚本

导出脚本:

查看脚本代码
#!/bin/bash
# 备份路径
BACKUP=/mnt/databackup/sql
# 当前时间
DATETIME=$(date +%Y-%m-%d)
echo "===备份开始==="

# 数据库名称
DATABASE=hysoftv21_zsyml
# 数据库地址
HOST=localhost
# 数据库用户名
DB_USER=#####
# 数据库密码
DB_PW=######
# mysqldump 路径
DUMP=/mnt/www/mysql/bin/mysqldump

# 创建备份目录
[ ! -d "${BACKUP}/$DATETIME" ] && mkdir -p "${BACKUP}/$DATETIME"
echo "备份文件存放于${BACKUP}/$DATABASE-$DATETIME.sql"
# 开始备份
$DUMP -h $HOST -u${DB_USER} -p${DB_PW}  ${DATABASE} >${BACKUP}/$DATABASE-$DATETIME.sql

echo "===导出成功,开始传输==="
# 压缩成 tar.gz 包
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATABASE-$DATETIME.sql
# 删除原始备份文件
rm -f ${BACKUP}/$DATABASE-$DATETIME.sql
# 备份到服务器 B
# scp $DATABASE-$DATETIME.sql ${BACKUP}
# 删除备份目录
rm -rf ${BACKUP}/$DATETIME

# 删除 10 天(不含)前备份的数据,这边可以自行更改
find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "===数据库备份到服务器成功==="
定时程序:
查看定时程序
1、执行命令 crontab -e 进入 crontab 编辑界面。
2、# 分钟 时 日 月 星期 要执行的命令
0 0 * * 1 /path/to/your/command
这里的 0 0 * * 1 表示在每周的第一天(星期一)的午夜 12 点(即凌晨)执行任务,
/path/to/your/command 是你要运行的命令的路径。
posted @ 2023-03-24 11:15  不想挨捶的牛  阅读(73)  评论(0编辑  收藏  举报