Linux服务器部署应用程序

时间:2022-09-17 15:42:53
1.守护进程
程序写成守护进程,fork两次。

2.系统日志
调用openlog, syslog, closelog
使用syslog或rsyslog服务,配置/etc/syslog.conf或/etc/rsyslog.conf
例子:
local2.* /var/log/app.log
重启syslog生效
/etc/init.d/syslog restart

syslog使用说明:
配置文件的格式: 设施.级别 log文件路径
本地使用的设施有:LOG_LOCAL0~LOG_LOCAL7
具体查看【UNIX网络编程卷1】

3.开机启动
将命令写入/etc/rc.local

4.程序崩溃后自动启动
使用crond服务,定时判断是否存在某个进程,若不存在,则启动。
我在程序做了应用程序单例,所以每2分钟启动一下程序即可,若程序存在,则不会重复启动该程序。

crontab配置:
查看root的任务
crontab -l -u root

编辑或添加任务
crontab -e -u root

删除root的任务
crontab -r -u root

crontab格式:
[分钟0-59]  [小时0-23]  [日期1-31]  [月份1-12]  [星期0-6](0表示星期日)  [命令]

例子:
* * * * * date +"%H:%M:%S" >> /opt/time.txt
每分钟往/opt/time.txt写入时间