crontab计划任务进行mysql数据库备份数据为空的解决方法

in mysql with 0 comment

由于在vps上面部署了mysql的备份脚本,今天打开备份目录发现文件大小都为0,意味着备份没成功,但是手动执行脚本的时候,备份又正常,网上查了下找到了原因,主要是因为计划任务下执行命令,识别不到系统环境变量,所以需要将mysqldump这个命令用全路径的方式补全才能正确运行此命令。

所以解决方法就很简单了。

原来的python脚本cmd变量如下:

cmd = "mysql -h %s -p%s -P 3306 " \
          "%s>%s" % (DB_HOST, DB_PASSWD, db_name, fname)

现在改成:

mysqldump='/usr/local/mysql/bin/mysqldump'     ##代码前面添加变量指出命令所在的绝对路径

cmd = "%s -h %s -p%s -P 3306 " \
          "%s>%s" % (mysqldump, DB_HOST, DB_PASSWD, db_name, fname)     ##通过变量传入命令
Responses