mkdir -p /data/mysql/bak/database
vim /data/mysql/bak/mysqlbak
#!/bin/bash
DATE=`date +%Y%m%d%H%M` #every minute
DATABASE=cjw_1101 #database name
#DB_USERNAME=root #database username mysql8不需要
#DB_PASSWORD=123456 #database password mysql8不需要
BACKUP_PATH=/data/mysql/bak/database #backup path
#backup command
/usr/bin/mysqldump -u$DB_USERNAME -p$DB_PASSWORD -h 127.0.0.1 -R --opt $DATABASE --skip-lock-tables | gzip > ${BACKUP_PATH}\/${DATABASE}_${DATE}.sql.gz
#docker mysql container backup command
# docker必须指定绝对位置,且去除-it
#/usr/bin/docker exec mysql-prod-3306_mysql8-web1_1 mysqldump -h 127.0.0.1 -R --opt $DATABASE --skip-lock-tables | gzip > ${BACKUP_PATH}\/${DATABASE}_${DATE}.sql.gz
#just backup the latest 30 days
find ${BACKUP_PATH} -mtime +30 -name "${DATABASE}_*.sql.gz" -exec rm -f {} \;
chmod +x /data/mysql/bak/mysqlbak
crontab -e (使用sudo方式)
# 凌晨3点
00 3 * * * /data/mysql/bak/mysqlbak
- 6 常见错误
- mysql8 禁止脚本明文输入密码,所以需要在my.cnf中添加mysqldump脚本
[mysqldump]
user=root
password=123456
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。