docker exec -it mysql /usr/bin/mysqldump -uroot -proot --default-character-set=gbk 数据库名> /sql/mysql_bak`date +%Y-%m-%d_%H%M%S`.sql;
注意:mysqldump 要为绝对路径
`date +%Y-%m-%d_%H%M%S`的` 不是英文单引号,而是英文模式下,Esc按键下面的那个按键
感觉是没问题的,但是crontab定时执行的时候dump出来的文件大小始终是0,后来发现去掉-it就可以了,按照文档解释-t是分配一个伪终端,但是crontab执行的时候实际是不需要的
正确写法:
backmysql.sh内容如下: docker exec mysql /usr/bin/mysqldump -uroot -proot --default-character-set=gbk 数据库名> /sql/mysql_bak`date +%Y-%m-%d_%H%M%S`.sql;
启动定时任务:
# 启动定时任务 crontab -e # 将定时任务写入其中 分 时 日 月 年 */1 * * * * sh /sql/backmysql.sh # 查看定时任务列表 crontab -l



