linux – Crontab重启服务
发布时间:2020-12-13 16:42:14 所属栏目:Linux 来源:网络整理
导读:我在AWS EC2微实例上运行Web服务器.该实例具有~630MB的RAM.随着时间的推移,我有几个httpd进程和很少的免费RAM.当我重新启动httpd服务时,我最终释放了大约350MB的RAM. 我想在root下使用cron作业每12小时自动执行一次.我的脚本包含代码为 service httpd restar
我在AWS EC2微实例上运行Web服务器.该实例具有~630MB的RAM.随着时间的推移,我有几个httpd进程和很少的免费RAM.当我重新启动httpd服务时,我最终释放了大约350MB的RAM.
我想在root下使用cron作业每12小时自动执行一次.我的脚本包含代码为 service httpd restart service mysqld restart ps aux free -m 这是我第一次尝试cron脚本. 我收到一封电子邮件,其中包含ps aux和free -m的预期输出,但是 ./scriptName.sh: line 1: service: command not found ./scriptName.sh: line 2: service: command not found 用于重启命令. 该脚本确实以root身份运行.我担心使用sudo可能导致脚本挂起.来自ps输出的相关行 – root 14664 0.0 0.2 142200 1720 ? S 22:41 0:00 CROND root 14665 0.0 0.2 9296 1236 ? Ss 22:41 0:00 /bin/sh -c ./scriptName.sh smmsp 14667 0.0 0.6 76020 4244 ? R 22:41 0:00 /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root root 14669 0.0 0.1 11244 1008 ? R 22:41 0:00 ps aux 成功重启服务的正确做法是什么? 做这样的事情是否可取? 输出free -m total used free shared buffers cached Mem: 596 573 23 0 8 71 -/+ buffers/cache: 493 103 Swap: 0 0 0 解决方法
主要问题是在cron的运行环境中没有定义正确的$PATH,因此您需要使用完整的服务路径来实现此功能.
您可以使用命令找到此路径,该命令应打印/usr/sbin / service之类的内容. 第二个问题:我不会这样做,只是盲目地重新启动生产系统上的服务绝不是一个好主意.您是否有实际的内存/性能问题,或者可能是您的RAM仅被缓冲区等用尽(参见http://www.linuxatemyram.com/)? 请在几小时后将free -m的输出添加到您的问题中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |