一次性计划任务

安装软件

at-3.1.10-43.el6_2.1.x86_64

启动服务

#/etc/init.d/atd status

开机启动(其他服务的开机启动也是这样)

1)#chkconfig --list 列出大部分服务在每个运行级别下的开机启动状态

# chkconfig --level 35 sshd on  这是35,不是35

# chkconfig --level 5 sshd off

2)#setup 

 

设置:

#at 时间

>要执行的命令

ctrl+d结束

 

查询

#at -l

#atq

 

查看具体内容

#cd /var/spool/at/

 

删除计划任务

1)直接删除计划任务文件

2)#atrm 8    8是工作号

3)#at -d 9   9是工作号

 

#man at  查看at命令后面时间的各种格式的写法

2014 8 9 上午4

08/09/14  4am

2014-08-09

now+4hours

 

运行级别

切换运行级别

#init 3

查询当前运行在哪个级别

# runlevel 

# N 5

循环性计划任务

安装软件

crontabs-1.10-33.el6.noarch

启动服务

# /etc/init.d/crond status

# /etc/init.d/crond start

开机启动

#chkconfig crond on

配置

#crontab -e

配置分两部分 拿空格分开

第一部分:时间

 分钟小时

范围 0-590-231-311-120-7

上面的时间范围可以查看man手册

#man 5 crontab

 510***

 5108**

 157*5

 1,5,9****

 8-12****

 8-12,20-25****

 */5****

 

ps: *表示每...

 ,取不同的时间点

 -表示范围

 */55分钟

第二部分:动作

 把上面规定的时间要执行的命令写在这里,当然包括脚本(最常用),命令最好要写绝对路径

 

练习:

测试当日期和星期发生冲突的时候以哪个为准,还是取或的关系,全部都执行

 

定期备份文件:

#/bin/bash

/bin/tar cvzf /tmp/a.txt_`date +%Y%m%d%H%M%S`.tar.gz /tmp/a.txt

 

*/1 * * * * /tmp/a.sh

 

查看计划任务:两种方法

1)#crontab -l

  -u 用户名查看某一个账户的计划任务

2)#cat /var/spool/cron/root

 

计划任务删除:两种方法

1)# crontab -r -u wing

-r 删除

-u 指定用户

#crontab -e -u tom

2)# rm -f /var/spool/cron/root

 

系统本身的计划任务

#cat /etc/crontab

 

计划任务的权限控制

#cat /etc/cron.deny

如果这个文件存在,凡是写到这个文件里面的账户不允许执行crontab命令

#cat /etc/cron.allow

如果这个文件存在,没有写到这个文件里面的账户不允许执行crontab命令

如果有allow文件,那不管deny是否存在,都是只允许allow文件里面的用户

 

日志服务

安装软件

rsyslog-5.8.10-6.el6.x86_64

启动服务

#/etc/init.d/rsyslog start

 

查看日志:两个位置

1)/var/log

2)软件本身指定的目录

 

常用日志

messages 系统日志

maillog  邮件日志

cron 计划任务

xferlog  vsftpd的日志

httpd apache的日志

secure 安全日志

lastlog  记录每一个账户最后一次登录的时间,使用lastlog

wtmp 查看的是一个月之内所有账户的的登录情况,使用last

btmp 查看现在正在登录的账户,使用w who users

samba samba共享日志

#tail -f /var/log/messages

 

 

自定义日志

#vim /etc/rsyslog.conf

日志对象:你要对什么东东做日志

日志级别:级别越低,信息越多 

日志文件:存储日志的文件

 

日志对象.日志级别日志文件

.  大于或者等于后面指定的日志级别

.= 等于后面指定的日志级别

.! 

 

查看都有哪些日志对象和日志级别

#man 5 rsyslog.conf

 

*.* /var/log/mylog

kern.err /var/log/kernel.log

*.info;mail.none    /var/log/big.log

mail.info/var/log/mail.log

 

远程日志

产生日志的机器:修改配置文件/etc/rsyslog.conf

kern.err            @192.168.0.251

 

接收日志的机器:

# vim /etc/sysconfig/syslog(rhel5)

SYSLOGD_OPTIONS='-m 0 -r'

# vim /etc/rsyslog.conf(rhel6)

打开接收远程日志的模块注释

 $ModLoad imudp

 $UDPServerRun 514

 

最后都需要重启日志服务。

 

日志轮转

# vim /etc/logrotate.conf  主配置文件

//全局配置

weekly      一周轮转一次

rotate 4    轮转次数

create      创建新文件

dateext     以轮转时刻的时间作为轮转文件的结尾

//局部配置

include /etc/logrotate.d 此目录包含的所有文件可直接写到主配置文件里

missingok   在文件不存在的时候也不报错

create 0644 root utmp

 

强制轮转测试命令

#logrotate -f /etc/logrotate.conf

-d 只做测试