使用shell做数据库备份的时候,遇到了以下问题,原因未知

由于对shell不是很精通,遇到了下面的问题。如果有人能给以解答,不胜感激

代码如下

#!/bin/bash
#実行タイミング 10 0 1 * * bash /var/www/borg/fuel/app/tasks/db_backup.sh

SAVE_PATH="/var/tmp/"
ymdhms=$(date +%Y%m%d%H%M%S)
dump_file_name="backup_${ymdhms}.dump"

if [[ $BORG_FUEL_BATCH_ENV == "development" ]]
then
    dbuser="root"
    dbpasswd=‘!Test1234#‘
    db=test_ph0_dev
elif [[ $TEST_FUEL_BATCH_ENV == "staging" ]]
then
    dbuser="test"
    dbpasswd=‘Test-123‘
    db=test_ph0_stg
else
    dbuser="test"
    dbpasswd=‘Test-123‘
    db=test_ph0_prd
fi

echo $TEST_FUEL_BATCH_ENV
backup_command="mysqldump --single-transaction -u ${dbuser} -p‘${dbpasswd}‘ ${db} > ${SAVE_PATH}${dump_file_name}"
echo $backup_command

#command1
result=`$backup_command`

#command2#result=$($backup_command)
#command3#result=`mysqldump --single-transaction -u ${dbuser} -p"${dbpasswd}" ${db} > ${SAVE_PATH}${dump_file_name}`; 

conmand1和command2的运行都会报错,运行结果如下。而使用command3却正常运行

development
mysqldump --single-transaction -u root -p‘!Test1234#‘ test_ph0_dev > /var/tmp/backup_20200203110247.dump          //打印出的 back_command
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump: Got error: 1045: Access denied for user ‘root‘@‘localhost‘ (using password: YES) when trying to connect

直接运行打印出的back_command也能正常运行

[[email protected] log]# mysqldump --single-transaction -u root -p‘!Borg1234#‘ borg_ph0_dev > /var/tmp/backup_20200203110247.dump
mysqldump: [Warning] Using a password on the command line interface can be insecure.

不知道这是什么原因,希望有大神能够解答。谢谢!

原文地址:https://www.cnblogs.com/gaoBlog/p/12254759.html

时间: 2024-11-13 08:51:11

使用shell做数据库备份的时候,遇到了以下问题,原因未知的相关文章

【MS SQL】数据库维护计划之数据库备份(一)

原文:[MS SQL]数据库维护计划之数据库备份(一) 在做数据库备份之前,一定会听到:完整备份.差异备份.增量备份.事务日志备份...等词:下面配图进行说明. 完整备份:完整数据库备份包含数据库中的所有数据.对于可以快速备份的小数据库而言,最佳方法就是使用完整数据库备份.但是,随着数据库的不断增大,完整备份需花费更多时间才能完成,并且需要更多的存储空间.因此,对于大型数据库而言,可以用差异备份来补充完整数据库备份. 差异备份:基于差异备份所包含数据的前一次最新完整备份.差异备份仅捕获自该次完整

脚本-每3天对数据库目录/var/lib/mysql做物理备份 把数据备份到系统/opt/dbbak目录

每3天对数据库目录/var/lib/mysql做物理备份 把数据备份到系统/opt/dbbak目录 #!/bin/bash DAY=`date+%Y-%m-%d` SIZE=`du-sh /var/lib/mysql` cd/opt/dbbak  2> /dev/null  || mkdir /opt/dbbak echo"Date: $DAY" > /opt/dbbak/dbinfo.txt echo"Total Database Size: $SIZE&quo

Shell脚本-----自动备份Mysql数据库

脚本的整体思路 1.定义需要的变量 2.利用for循环备份需要备份的库,并以库名-当天日期.sql命名,并记录相关日志 3.建立备份当天的日期的目录,向备份的Sql文件移动到该目录 4.压缩打包该目录,以节省空间,打包成功后删除该目录 5.备份目录只备份七天的数据库,第八天删除第一天的备份,目录只会存在连续七天的备份文件 6.查找备份目录下的.log日志文件,超过七天的删除 #!/bin/bash mysql_bin=/usr/local/tdoa/mysql/bin/mysqldump use

用shell脚本自动化备份数据库

防伪码:防止误删系统数据库,定时备份你我更安心! 使用shell脚本自动化备份数据库 一.简介 系统数据库如图所示(以MySQL5.5为例) 1.information_schema:信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息.在information_schema中,有数个只读表.它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件. 2.mysql:MySQL的的核心数据库,类似于SQLServer中的master表,主要负责存储数据库的用户.权限

shell判断oracle主备数据库备份脚本

1. 脚本如下 说明:按照客户要求,在主备数据库上同时部署脚本,自动判断是否是主库,如果是主库则进行备份,备库不需要备份,记录日志为备份库即可,以下脚本仅供参考,可以进一步优化. 脚本说明: 1.DATABASE_ROLE查看主备库角色变量 2.Main()函数 数据库备份脚本 3.根据主备库关键字判断是否执行main()函数 #!/bin/bash # Author:roidba # filename:/backup/backup.sh #logfile:/backup/rman_fullba

shell 练习(07)——MySQL 数据库备份

1. 题目 设计一个 shell 脚本来备份数据库,首先在本地服务器上保存一份数据,然后再远程拷贝一份,本地保存一周的数据,远程保存一个月. 假定,我们已经知道了 mysql root 账户密码,要备份的数据库为 wenming ,本地备份目录为 /data/backup/mysql,远程服务器 ip 为 192.168.12.34 ,远程提供了一个 rsync 服务,备份的地址是 192.168,12.34::backup . 写完脚本后,需要加入到cron 中,每天凌晨 3 点执行. 2.

nodejs 定时调用shell脚本来备份数据库和日志文件并发送到邮箱

安装mailx,靠它来发送邮件 yum install mailx 编辑配置文件 vim /etc/mail.rc #添加如下内容 set [email protected] set smtp=smtp.163.com set [email protected] set smtp-auth-password=xxx set smtp-auth=login ---说明 from:对方收到邮件时显示的发件人 smtp:指定第三方发邮件的smtp服务器地址 set smtp-auth-user:第三方

MySQL Study之--Mysql数据库备份工具(mysqldump)

MySQL Study之--Mysql数据库备份工具(mysqldump) 对于Mysql Database的备份方式有很多种,此次文档主要介绍mysqldump工具: mysqldump:      mysqldump工具很多方面类似相反作用的工具mysqlimport.它们有一些同样的选项.但mysqldump能够做更多的事情.它可以把整个数据库装载到一个单独的文本文件中.这个文件包含有所有重建您的数据库所需要的SQL命令.这个命令取得所有的模式(Schema,后面有解释)并且将其转换成DD

MySQL 数据库备份种类以及常用备份工具汇总

1,数据库备份种类 按照数据库大小备份,有四种类型,分别应用于不同场合,下面简要介绍一下: 1.1完全备份 这是大多数人常用的方式,它可以备份整个数据库,包含用户表.系统表.索引.视图和存储过程等所有数据库对象.但它需要花费更多的时间和空间,所以,一般推荐一周做一次完全备份. 1.2事务日志备份 事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以只需要很少的时间.为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志. 1.3差异备份 也