Below you will find pages that utilize the taxonomy term “Crontab”
June 17, 2014
进程管理工具Supervisord
"\u003ch2 id=\"supervisord-简介\"\u003eSupervisord 简介\u003c/h2\u003e\n\u003cp\u003e上面已经介绍了Go目前是有两种方案来实现他的daemon,但是官方本身还不支持这一块,所以还是建议大家采用第三方成熟工具来管理我们的应用程序,这里我给大家介绍一款目前使用比较广泛的进程管理软件: \u003ca href=\"http://supervisord.org/\"\u003eSupervisord\u003c/a\u003e。Supervisord是用Python实现的一款非常实用的进程管理工具。supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启、关闭、重启等操作,而且它管理的进程一旦崩溃会自动重启,这样就可以保证程序执行中断后的情况下有自我修复的功能。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e我前面在应用中踩过一个坑,就是因为所有的应用程序都是由Supervisord父进程生出来的,那么当你修改了操作系统的文件描述符之后,别忘记重启Supervisord,光重启下面的应用程序没用。当初我就是系统安装好之后就先装了Supervisord,然后开始部署程序,修改文件描述符,重启程序,以为文件描述符已经是100000了,其实Supervisord这个时候还是默认的1024个,导致他管理的进程所有的描述符也是1024.开放之后压力一上来系统就开始报文件描述符用光 …\u003c/p\u003e\u003c/blockquote\u003e"
May 28, 2014
Linux中让crontab以秒为单位执行任务
"\u003cp\u003eLinux下实现秒级定时任务的两种方案(Crontab 每秒运行):\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e第一种方案,当然是写一个后台运行的脚本一直循环,然后每次循环sleep一段时间。\u003c/strong\u003e\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e#!/bin/bash\nwhile true ;do\n\ncommand\n\nsleep XX //间隔秒数\n\ndone\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e或者使用for语句\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e#!/bin/bash\n\nfor((i=1;i\u0026lt;=20;i++));do\n/home/somedir/scripts.sh \u0026gt; /dev/null 2\u0026gt;\u0026amp;1\nsleep 3\ndone\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003cstrong\u003e第二种方案,使用crontab。\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e我们都知道crontab的粒度最小是到分钟,但是我们还是可以通过变通的方法做到隔多少秒运行一次。\u003c/p\u003e\n\u003cp\u003e以下方法将每20秒执行一次\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ecrontab -e\n* * * * * /bin/date\n* * * * * sleep 20; /bin/date.sh\n* * * * * sleep 40; /bin/date.sh\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e说明:需要将/bin/date.sh更换成你的命令即可\u003c/p\u003e\n\u003cp\u003e这种做法去处理隔几十秒的定时任务还好,要是每1秒运行一次就得添加60条记录。。。如果每秒运 …\u003c/p\u003e"
January 17, 2013
如何查看crontab的日志记录
"\u003cp\u003e昨天crontab中的同步任务没有执行,不知道是什么原因没有执行,貌似任务hang住了,想查询一下crontab到底问题出在哪里,或者hang在了什么地方。\u003c/p\u003e\n\u003cp\u003e1. linux\u003c/p\u003e\n\u003cp\u003e看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察\u003c/p\u003e\n\u003cp\u003e2. unix\u003c/p\u003e\n\u003cp\u003e在 /var/spool/cron/tmp文件中,有croutXXX001864的tmp文件,tail 这些文件就可以看到正在执行的任务了。\u003c/p\u003e\n\u003col start=\"3\"\u003e\n\u003cli\u003email任务\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail -f /var/spool/mail/root 即可查看最近的crontab执行情况。\u003c/p\u003e"
December 17, 2010
linux中关于crontab的日志存放
"\u003cp\u003e默认情况下,crontab中执行的日志写在/var/log下,如:\u003c/p\u003e\n\u003cp\u003e#ls /var/log/cron*\u003c/p\u003e\n\u003cp\u003e/var/log/cron /var/log/cron.1 /var/log/cron.2 /var/log/cron.3 /var/log/cron.4\u003c/p\u003e\n\u003cp\u003ecrontab的日志,当crond执行任务失败时会给用户发一封邮件.如果在服务器上发现一个任务没有正常执行,而crond发邮件也失败.通过看mail的日志,看是否是磁盘空间不够造成的\u003c/p\u003e\n\u003cp\u003e将cornd错误输出和标准输出日志都指向自定义的日志文件:\u003c/p\u003e\n\u003cp\u003e0 6 * * * $HOME/fro_crontab/createTomorrowTables\u0026raquo;$HOME/for_crontab/mylog.log 2 \u0026gt;\u0026amp;1\u003c/p\u003e\n\u003cp\u003eFreeBSD下cron日志文件为 /var/log/cron.\u003c/p\u003e\n\u003cp\u003e对于crontab的详细介绍请参考:\u003c/p\u003e"