一、问题背景
目前需要维护的客户系统大概有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运维实战总结