gpt4 book ai didi

在脚本中运行时 mysqldump 不会转储所有内容

转载 作者:行者123 更新时间:2023-11-29 21:32:26 24 4
gpt4 key购买 nike

我有一个 mysql 服务器在名为 dockersql 的 docker 容器中运行。为了备份它,我使用

docker run -ti --rm --link dockersql:mysql -v $HOME/backups/20160202/:/hostbackup mysql /bin/bash -c "mysqldump -u user -p -h mysql database > /hostbackup/mysqldump.sql"

这很好用。我已将同一行包含在执行其他操作的 shell 备份脚本中。当我运行备份脚本时,我只得到 USERS 表的部分转储。当我直接在终端中运行 docker run 命令时,我确实获得了用户表的完整备份。

这是我的脚本的完整副本:

#!/bin/bash                                                                                                                                                                                                    


function usage
{
echo "dockerBackup.sh [OPTIONS] <target directory>"
echo " full backup of currently running environment"
echo " OPTIONS"
echo " -n prefix : will use prefix in front of data container names"
echo " -h : help"

}



###################################
# Main Script Execution #
###################################


# prefix to be used for naming containers
prefix=''

# Option analysis
while getopts 'hn:' flag; do
case "${flag}" in
h) usage ;
exit 0;;
n) prefix="${OPTARG}""_" ;
argindex=$(($argindex+2));;
*)
error "Unexpected option ${flag}"
usage
;;
esac
done


echo "arguments total : $# argindex : $argindex"

if [ $(($#-1)) -ne $argindex ];then
echo "Invalid argument number $#"
usage
exit 1

else

backupdir=${!#}
echo "backuping to $backupdir directory"

echo "backuping mysql database"
docker run -ti --rm --link "$prefix"dockersql:mysql -v "$backupdir":/hostbackup mysql /bin/bash -c "mysqldump -u user -p -h mysql database > /hostbackup/mysqldump.sql"

#Other backup actions

fi

最佳答案

问题不好,之前的研究也不好
无论是在脚本中还是直接命令行中,Mysqldump 都可以正常工作

另一个容器中的某个地方残留着一个旧文件,该文件名为mysqldump.sql,应该被清理,这是我在#Other backup actions中的问题中跳过的操作之一该脚本的一部分还备份并删除了由 mysql docker run 命令创建的脚本。

对于花费和损失的任何时间,我们深表歉意。

关于在脚本中运行时 mysqldump 不会转储所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35152648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com