场景说明:系统启动之后,将/var重新挂载在一个物理的分区上,保存日志

问题描述:

启动:service rsyslog restart

starting system logger :can not open or create

/var/run/syslogd.pid  can not write pid

解决方案:

mkdir /var/run

mkdir /var/lock

mkdir /var/lock/subsys

**********2014-10-15**********

mkdir /var/log/wtmp 

说明:判断是否有实例正在运行,并注明了程序内部需要另行确定是否真正有实例在运行。

实际上,判断是否上锁就是判断这个文件,所以文件存在与否也就隐含了是否上锁。而这个

目录的内容并不能表示一定上锁了,因为很多服务在启动脚本里用touch来创建这个加锁文件,

在系统结束时该脚本负责清除锁,这本身就不可靠(比如意外失败导致锁文件仍然存在),

我在脚本里一般是结合PID文件(如果有PID文件的话),从PID文件里得到该实例的PID,然后

用ps测试是否存在该PID,从而判断是否真正有这个实例在运行,更加稳妥的方法是用进程通讯了,

不过这样的话单单靠脚本就做不到了

**********************

/var/log/wtmp 缺少导致如下的问题:

# logrotate /etc/logrotate.conf 

error: stat of /var/log/wtmp failed: No such file or directory

导致无法进行日志的回滚。