linux – 由cron运行时,shell脚本中使用的环境变量在日志文件中显示为空白

linux – 由cron运行时,shell脚本中使用的环境变量在日志文件中显示为空白,第1张

概述原谅我的无知,但我对 shell脚本和在 Linux中使用环境变量有些新意. 我有一个执行MySQL数据库备份的脚本.我在脚本中有以下几行用于记录数据库的成功转储: output=`date; echo "Database export successful from $ENV_HOSTNAME to $BACKUP_HOSTNAME"`echo $output >> /var/log/erro 原谅我的无知,但我对 shell脚本和在 Linux中使用环境变量有些新意.

我有一个执行MySQL数据库备份的脚本.我在脚本中有以下几行用于记录数据库的成功转储:

output=`date; echo "Database export successful from $ENV_HOSTname to $BACKUP_HOSTname"`echo $output >> /var/log/errorLog

我在/ etc / profile中定义了变量(ENV_HOSTname和BACKUP_HOSTname),如下所示:

export ENV_HOSTname="env1.somename.com"export BACKUP_HOSTname="env2.somename.com"

当我调用printenv时,我可以看到列出的这些变量,并且当我运行此脚本(以root身份)时,变量值正确显示在日志文件中.但是,当我将此脚本设置为使用cron运行时,变量值不会出现在日志文件中.我知道脚本运行是因为我可以看到日期和字符串的其余部分,但变量是空白的:

Fri Nov 6 22:31:05 EST 2009 Database export successful from to

我确定我在这里遗漏了一些简单的东西,所以请提前感谢您的帮助.

解决方法 有你的问题:cron没有运行/ etc / profile.

cron只用很少的环境设置启动;你需要的任何其他东西,你必须自己设置,所以习惯上让cron调用脚本来处理设置,然后是主要动作.

总结

以上是内存溢出为你收集整理的linux – 由cron运行时,shell脚本中使用的环境变量在日志文件中显示为空白全部内容,希望文章能够帮你解决linux – 由cron运行时,shell脚本中使用的环境变量在日志文件中显示为空白所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1021371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存