一,syslog简介
syslog是一个综合的日志记录系统,可以有效的控制日志记录过程,syslog的使用非常灵活,可以按照其来源和重要性来排序,也可以把消息发送到各种目的地,用户文件,终端,甚至是别的计算机。


二,syslogd
syslogd 日志守护进程,其配置文件为/etc/syslog.conf
其内容为:



其格式为:日志的来源.日志级别 动作

常见的来源有:
    kern 内核信息;
    user用户进程信息;
    mail电子邮件相关信息;
    daemon系统守护进程;
    authpriv认证信息;
    cron计划任务信息;
    syslog系统日志信息

日志的级别:
    emerg 恐慌状态
    alert 紧急状态
    crit 临界状态
    err 其他错误情况
    warning 警告消息
    notice 需要调查的事项
    info 提供信息的小鸡
    debug 调试

动作信息:
    filename 把消息写入本机的文件里
    @ipaddress 把消息发给ipaddress的主机上
    | fifoname 发送到管道
    user,use2 发到用户终端上
    * 发给已经登录的所有用户
    (注:将日志发送到本地其他文件时,注意selinux是否关闭,否则不生效)

优先级的例子:
    mail.info: 包括此级别和比此级别高的所有级别产生的信息
    mail.=info 只包含info的消息
    mail.!=info除了info的消息
    mail.!info 比info低级别产生的信息
    mail.*     所有信息

    当然也可以写到一起
    mail.debug;mail.!=warning 比debug高的级别,但除了warning信息



三,搭建linux日志服务器:
1、试验环境:
   客户机:172.16.15.1
   服务器:172.16.15.200

2、服务器编辑/etc/sysconfig/syslog文件,让服务器能够接受客户端传来的数据:
在“SYSLOGD_OPTIONS”行上加“-r”选项以允许接受外来日志消息:

# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS="-m 0 -r"   //注意-r不可加在-m和0的中间
# Options to klogd
# -2 prints all kernel oops messages twice; once for klogd to decode, and
# once for processing with 'ksymoops'
# -x disables all klogd processing of oops messages entirely
# See klogd(8) for more details
KLOGD_OPTIONS="-x"
#
SYSLOG_UMASK=077

3、重新启动syslog守护进程,关闭iptables:
#service syslog restart
#service iptables stop

4、客户机编辑,配置/etc/syslog.conf,这里就以第一个为例:
# Log all kernel messages to the console.
# Logging much else clutters up the screen.

*.info;mail.none;authpriv.none;cron.none @172.16.15.200
……

5、重启客户端syslog服务:
#service syslog restart

6、客户端重启服务后,在服务器端验证:






四,计划任务管理
1,at 一次性执行计划任务

      #at TIME(执行时间)
      at>ls /etc
      at>cat /etc/inittab
      Ctrl+d(提交)

      atq 查询at任务 = at -l  
      atrm 删除at任务 = 
      at -d

2,cron 周期性任务


1)格式:
      分 时 日 月 周 命令
      * 表示该范围内的任意时间
      , 表示间隔的多个不连续时间点
      - 表示一个连续的时间范围
      / 指定间隔的时间频率

      分钟:0-59
      小时:0-23
      天:1-31
      月:1-12
      周:0-7

2) 编辑cron任务
      crontab -e 编辑
      -l 查看
      -r 删除
      -u 指定其他用户计划任务
      /etc/crontab 系统任务配置文件

     例:30 3 * * * /bin/tar -jcf /backup/etc-`date +%F-%H-%M-%S`.tar.bz2 /etc/* &> /dev/nul
     每天3点30分备份etc下的文件到/backup/下,并以当前时间命名



3)问题,比如做了个2点的任务,但是我12点关机了怎么办?
这里就需要anacron了,anacron补充了crond不足

配置文件为/etc/ancrontab
…………
MAILTO=root

1 65 cron.daily run-parts /etc/cron.daily
7 70 cron.weekly run-parts /etc/cron.weekly
30 75 cron.monthly run-parts /etc/cron.monthly

天数 重试时间 任务描述 命令

另:一般情况下服务器是7x24小时不关机的,所以这里anacron就不着重介绍了。