读取 .env 环境变量文件,并使用 mysqldump 导出数据库 作者: Chuwen 时间: 2022-12-10 分类: 其他分类 ## 代码 如果没有 mysqldump 可以使用此命令安装<仅限于 CentOS 系统> ```shell yum install -y holland-mysqldump.noarch ``` --- ```shell #!/bin/bsh function echo_error() { [ $# -ne 1 ] && return 0 echo -e "\033[31m $1 \033[0m" } function echo_danger() { [ $# -ne 1 ] && return 0 echo -e "\033[41;37m $1 \033[0m" } function echo_info() { [ $# -ne 1 ] && return 0 echo -e "\033[32m $1 \033[0m" } function echo_success() { [ $# -ne 1 ] && return 0 echo -e "\033[42;37m $1 \033[0m" } function echo_warning() { [ $# -ne 1 ] && return 0 echo -e "\033[33m $1 \033[0m" } function now_time() { echo $(date '+%Y-%m-%d %H:%M:%S') } if [ ! -f ".env" ]; then echo_danger ".env 不存在,终止执行" exit 127 fi # 将 .env 文件导入环境变量(排除注释行) export $(cat .env | grep -v "^#") # 导出每个表前 1000 条数据 function export_limit_1000() { mysqldump --column-statistics=0 \ --host="${DB_HOST}" \ --user="${DB_USERNAME}" --password="${DB_PASSWORD}" \ "${DB_DATABASE}" \ --where="true limit 1000" >mysqldump_"$(date '+%Y-%m-%d_%H:%M:%S')".sql } function export_sql() { echo_info "[`now_time`] >>> 开始导出数据库" mysqldump --column-statistics=0 \ --host="${DB_HOST}" \ --user="${DB_USERNAME}" --password="${DB_PASSWORD}" \ "${DB_DATABASE}" \ >mysqldump_"$(date '+%Y-%m-%d_%H:%M:%S')".sql echo_success "[`now_time`] <<< 导出数据库完成" } export_sql ``` ## 执行结果 ![](https://cdn.nowtime.cc/2022/12/10/3529888146.png) 标签: MySQL, Linux, Shell