《Linux运维总结:shell脚本手动执行成功,定时任务执行脚本不成功》

文章目录

  • 一、问题背景
  • 二、解决方案
  • 总结:整理不易,如果对你有帮助,可否点赞关注一下?


一、问题背景

目前需要维护的客户系统大概有30多套,而大多数系统是部署在客户机房,近期由于多个客户机房频繁断电,导致需要手动启动服务,沟通处理起来比较麻烦,现需对这些环境配置服务自启脚本及数据库备份脚本,经测试有一些服务自启脚本手动能执行成功,crontab定时任务执行脚本不成功。


二、解决方案

原因:cron的环境变量和shell脚本的环境变量不一样

解决办法:
#方法一:定时任务里面切换到root执行()
*/5 * * * * su - root -c "/data/pkgs/mysql/tools/auto_backup.sh"

#方法二:在脚本里面添加环境变量(亲测可用)
vim /data/pkgs/mysql/tools/auto_backup.sh
#!/bin/bash
source /etc/profile
source ~/.bash_profile

注意:定时任务可以通过cat /var/spool/mail/root查看是否生效。


总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:Linux运维实战总结

你可能感兴趣的:(《Linux运维实战总结》,运维,linux)