#!/bin/bash DATE=$(date "+%Y%m%d") MYSQL_DATA="/data/mysql_data_backup" CONTAINER_NAME="mysql" mkdir -p ${MYSQL_DATA} config_bak() { NUM_BAK=100 COUNT_BAK=$(ls -lrt ${MYSQL_DATA} | grep mysql | wc -l) if [ ${COUNT_BAK} -gt ${NUM_BAK} ] then rm -f ${MYSQL_DATA}/$(ls -lt ${MYSQL_DATA} | grep mysql | tail -n 1 | awk '{print $9}') fi } main(){ # 请修改为root用户对应的密码 docker exec ${CONTAINER_NAME} sh -c 'exec mysqldump --all-databases -uroot -p"plf123456"' > ${MYSQL_DATA}/mysql_${DATE}.sql config_bak } main |
chmod +x mysql_backup.sh # 定时任务,每周执行一次 crontab -e 0 2 * * 0 mysql_backup.sh |