Crontab示例
时间:2020-02-23 14:37:59 来源:igfitidea点击:
今天,我们将研究crontab示例,该示例每5分钟执行一次脚本。
Crontab示例
最近,我在CentOS操作系统上安装了memcached服务器,以用作我的VBulletin论坛的缓存机制。
为了确保它始终运行,我编写了一个Shell脚本来检查进程状态,如果没有运行则重新启动。
现在,要确保该脚本以特定的间隔执行,我使用了crontab
。
Crontab示例Shell脚本
Shell脚本是可扩展的,您可以编写类似的脚本来重新启动UNIX系统中的任何服务或者进程。
这是我的crontab示例中使用的自动重启服务的Shell脚本。
memcached_restart.sh
#!/bin/bash ps -eaf | grep 11211 | grep memcached # if not found - equals to 1, start it if [ $? -eq 1 ] then /usr/local/bin/memcached -d -u nobody -p 11211 -U 11211 -l 127.0.0.1 else echo "eq 0 - memcached running - do nothing" fi
该脚本中的主要命令是检查进程,将" ps"命令与grep一起使用以确保它仅返回所需的服务,并且如果该服务未运行则不返回任何内容。
一旦提出要使用的命令,那么唯一的事情就是发出启动命令来运行该服务。
在使用crontab将脚本设置为定期运行之前,请对其进行测试以确保其正常运行。
每5分钟Crontab示例
完成脚本后,您需要设置一个cron作业以定期执行此脚本。
我使用下面的条目每5分钟运行一次此脚本。
*/5 * * * * /Users/pankaj/Downloads/memcached_restart.sh > /Users/pankaj/Downloads/memcache_restart.log 2>&1
Crontab错误–找不到命令
Crontab Error – command not found
请注意,crontab不考虑诸如PATH之类的环境变量,因此您必须始终为任何程序或者目录位置提供绝对路径。
如果在crontab shell脚本中运行命令时遇到"找不到命令"错误,并且如果您自己执行该命令也可以正常运行,那么使用相对路径将成为问题。