Cron
a)linux系统下一个自动执行指定任务的程序,包含“时间”、“路径”、“自动执行脚本”等要素。它有如下特点:
b)命令解析
1.Cron启动、重启、关闭
#servicecrondstart/restart/stop
2.浏览已存在的Cron列表
#crontab-l
3.编辑当前用户的crontab,例如:
1).99***/usr/local/bin/cvsb//表示每天早上9点9分执行目录/usr/local/bin/中的cvsb文件
2).33**0/usr/local/bin/qbbak//表示每周日凌晨3时3分执行目录/usr/local/bin中的qbbak文件
3).**/6***/usr/local/bin/esbbak //表示每6小时执行一次,执行时间从第一次执行起计算,当然也可以自定义执行时间,比如0*/6***那程序就会在整点执行
4).20,30***/usr/local/bin/esbak//表示在每小时20分和30分时执行
5)*23**2-5/usr/local/bin/esbbak//表示在星期二到星期五每天的23点执行
Daemon
a)运行在后台的一种特殊进程(守护进程),独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。
b)Linux中专门提供了一个函数来完成这个daemon化的过程,这个函数的原型如下:intdaemon(int__nochdir,int__noclose);如果nochdir的值为0,则将切换工作目录为根目录;如果noclose为0,则将标准输入,输出和标准错误都重定向到/dev/null。
c)守护进程一般在系统启动时开始运行,除非强行终止,否则直到系统关机都保持运行;
d)守护进程经常以超级用户(root)权限运行,因为它们要使用特殊的端口(1-1024)或访问某些特殊的资源。
e)守护进程的工作就是打开一个端口,并且监听(Listen)等待客户连接。如果客户端产生一个连接请求,守护进程就创建(Fork)一个子服务器响应这个连接,而主服务器继续监听其他的服务请求。
a)在要处理的命令前加上nohup即可,标准输出和标准错误缺省会被重定向到nohup.out文件中。
b)在结尾中加上"&"来将命令同时放入后台运行。例如:nohuppingwww.ibm.com&
a)应用程序需要24小时不间断运行。这时可使用supervisor监控应用程序的进程。当发生应用程序内部错误退出、进程被杀死等情况时,自动重启应用程序。
b)安装supervisor
c)配置supervison
d)启动
e)添加supervisord为Linux系统服务,开机自动启动
将supervisord.conf拷贝到/etc目录下
启动脚本supervisord.sh
#!/bin/sh
#
#/etc/rc.d/init.d/supervisord
#
#Supervisorisaclient/serversystemthat
#allowsitsuserstomonitorandcontrola
#numberofprocessesonUNIX-likeOperating
#systems.
#
#chkconfig:-6436
#description:SupervisorServer
#processname:supervisord
#Sourceinitfunctions
./etc/rc.d/init.d/functions
prog="supervisord"
prog_bin="/usr/local/bin/supervisord"
PIDFILE="/tmp/supervisord.pid"
start()
{
echo-n$"Starting$prog:"
#Sourceinitfunctions
./etc/rc.d/init.d/functions
prog="supervisord"
prog_bin="/usr/local/bin/supervisord"
PIDFILE="/tmp/supervisord.pid"start()
{
echo-n$"Starting$prog:"
daemon$prog_bin--pidfile$PIDFILE
[-f$PIDFILE]&&success$"$progstartup"||failure$"$progstartup"
echo
}
stop()
{
echo-n$"Shuttingdown$prog:"
[-f$PIDFILE]&&killproc$prog||success$"$progshutdown"
echo
}
case"$1"in
start)
start
;;
stop)
stop
;;
status)
status$prog
;;
restart)
stop
start
;;
*)
echo"Usage:$0{start|stop|restart|status}"
;;
esac
添加为系统服务
#mvsupervisord.sh/etc/init.d/supervisord
#chkconfig--addsupervisord
#chkconfig--level345supervisordon
a)Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。
b)Screen命令
新闻热点
疑难解答