gpt4 book ai didi

MySQL 备份不适用于 cronjob

转载 作者:行者123 更新时间:2023-11-30 21:53:06 25 4
gpt4 key购买 nike

我尝试每天备份我的数据库。当我运行我的脚本时,它运行完美。但是当我把它放入 crontab 时,gz-archive 是空的。它创建了一个空的 sql 文件,然后将其压缩为 gz 文件。

有人可以解释直接运行和通过 cronjob 运行之间的区别吗?

#!/usr/local/bin/bash

DATE=`date '+%Y-%m-%d_%H%M%S'`

mysqldump -u myUser -ptest*123 private_db | gzip > /mnt/backup#/MySQL/mysqlBackup_$DATE.sql.gz

if [ -f /mnt/backup#/MySQL/mysqlBackup_$DATE.sql.gz ]; then
logger "Backup: MySQL private_db ...success"
else
logger "Backup: MySQL private_db ...FAILED"
fi

最佳答案

好的,我找到了解决方案。这是一个问题,取决于我的操作系统。我使用 FreeBSD 并且 cronjob 以 root 身份运行。但是 cronjob root 与用户 root 有不同的系统环境。所以我在我的脚本中加入了一些环境。

#!/usr/local/bin/bash

DATE=`date '+%Y-%m-%d_%H%M%S'`

SHELL=/bin/csh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin

/usr/local/bin/mysqldump -u myUser -ptest*123 private_db | gzip > /mnt/backup#/MySQL/mysqlBackup_$DATE.sql.gz

if [ 1000 -gt $(wc -c </mnt/backup#/MySQL/mysqlBackup_$DATE.sql.gz) ];then
logger "Backup: MySQL private_db ...FAILED (filesize to small )"
else
if [ -f /mnt/backup#/MySQL/mysqlBackup_$DATE.sql.gz ]; then
logger "Backup: MySQL private_db ...success"
else
logger "Backup: MySQL private_db ...FAILED"
fi
fi

关于MySQL 备份不适用于 cronjob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46335723/

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