直接執行能夠備份成功,當使用定時任務進行備份的時候,備份的文件爲空,也就是說沒有mysqldump
出內容mysql
#!/bin/bash docker_name=mysql_container data_dir=/home/ubuntu/mysql_dump /usr/bin/docker exec -it $docker_name mysqldump -u username -p password --all-databases > "$data_dir/data_`date +%Y%m%d`.sql" find $data_dir -mtime +7 -name 'data_*.sql' -exec rm {} \;
修改備份腳本,經過在容器內執行mysqldump
,並備份到容器內/var/local
目錄下,再把此目錄映射到宿主目錄/home/ubuntu/.data/mysql_dump
便可sql
#!/bin/bash docker_name=mysql_container data_dir=/home/ubuntu/.data/mysql_dump /usr/bin/docker exec $docker_name sh -c "mysqldump -u username -p password --all-databases > /var/local/data_`date +%Y%m%d`.sql" find $data_dir -mtime +7 -name 'data_*.sql' -exec sudo rm {} \;