-
top 主要看 第一行 系统的 前 15分钟 5分钟 1分钟 的平均负载均衡
第三行 cpu 的空闲率 %id 第四行的 内存的空闲 free
查看全部 -
top 第五行为交换分区swap信息
查看全部 -
top 第四行为物理内存信息
缓冲 buffers 是为了加速写入
缓存 cached 是为了加速读取
查看全部 -
top 第三行为cpu信息 %id不能低于20%
查看全部 -
top 第二行 为进程信息
查看全部 -
第一行信息为任务队列信息
查看全部 -
查看系统健康状态
top 【选项】
-d 3秒
-b -n 2次 >top.log
查看全部 -
查看进程树
pstree
-p 显示进程的PID
-u 显示进程的所属用户
查看全部 -
ps命令的输出
MEM 物理内存百分比
VSZ 占用虚拟内存的大小 kb
RSS 占用物理内存的大小 kb
TTY 该进程在那个终端中运行的 其中tty1-tty7本地控制台终端
1-6是本地字符界面 7是图形终端 pts/0-255代表虚拟终端
查看全部 -
查看所有进程命令
ps aux
ps -le
查看全部 -
anacrontab是什么
anacrontab是用来保证在系统关机的时候错过的定时任务,可以在系统开机之后再执行。
anacron检测周期
anacron会使用一天,七天,一个月作为检测周期
在系统的/var/spool/anacron/目录中存在cron.{daily,weekly,monthly}文件,用于记录上次执行cron的时间
和当前时间做比较,如果两个时间的差值超过了anacron的指定时间差值,证明有cron任务被执行
CentOS 6.x的区别
在老的CentOS版本中,/etc/cron.{daily,weekly,monthly}这些目录会被cron调用,也会被anacron调用,容易重复执行
在CentOS 6.x中则只会被anacron调用,避免了重复执行
在CentOS 6.x中,anacron不在是服务而是系统命令
vi /etc/crontab
vi /etc/anacrontab #以下时解释
RANDOM_DELAY=45 #最大随机延迟
START_HOURS_RANGE=3-22 #执行时间范围是3:00到22:00
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
#天数 强制延迟(分) 工作名称 实际执行的命令
vi /usr/bin/run-parts
cron.daily工作来说明执行过程
首先读取/var/spool/anacron/cron.daily中的上一次anacron执行的时间
和当前时间比较,如果两个时间的差值超过1天,就执行cron.daily工作;超过7天,执行cron.weekly
执行这个工作只能在03:00-22:00之间
执行工作时强制延迟时间为5分钟,再随机延迟0-45分钟时间
使用nice命令指定默认优先级,使用run-parts脚本执行/etc/cron.daily目录中的所有可执行文件
查看全部 -
系统定时任务
crontab -e是每个用户执行的 命令,也就是说不同的用户身份可以执行自己的定时任务。可是有些定时任务需要系统执行,这时我们就需要编辑/etc/crontab这个配置文件了
vi /etc/crontab #run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 41 1 * * root run-parts /etc/cron.monthly
cd /etc/cront.daily
执行系统的定时任务的方法
手工执行定时任务
系统定时任务
第一种是把定时执行的脚本复制到/etc/cron.{hourly,daily,weekly,monthly}目录中的任意一个 推荐使用
第二种是修改/etc/crontab配置文件
查看全部 -
时间 含义
45 22 * * * 命令 在22点45分执行一次命令
0 17 * * 1 命令 每周一1的17点0分执行命令
0 5 1,15 * * 命令 每月1号和15号的凌晨5点0分执行命令
40 4 * * 1-5 命令 每周一到周五的凌晨4点40分执行命令
*/10 4 * * * 命令 每天的凌晨4点,每隔10分钟执行一次命令
0 0 1,15 * 1 命令 每个月的1号和15号的0点0分执行;每周一的0点0分执行
查看全部 -
1、crond服务管理与访问控制
第一步: 确定服务是否安装
chkconfig --list | grep cron
service crond status
vi /etc/cron.deny #默认是cron.deny
访问控制
如果系统中有/etc/at.allow文件(白名单),那么只有写入此文件的用户可以使用crontab命令,没有写入的用户不能使用crontab命令。同样如果有此文件,/etc/at.deny文件会被忽略,/etc/at.allow优先级更高
如果系统中没有/etc/at.allow文件,只有/etc/at.deny文件(黑名单),那么写入此文件的用户不能使用crontab命令,没有写入文件的用户可以使用crontab命令
2、用户的crontab设置
crontab [选项]
选项:
-e #当前用户编辑crontab定时任务
-l #查询crontab任务
-r #删除当前用户所有的crontab任务
crontab -e #当前用户进入crontab编辑界面,当前用户vim方式编辑
crontab -l #查看当前用户的crontab任务
crontab -r #删除当前用户的所有的定时的任务
crontab -e说明
第一个"*" 一小时的第几分钟 0-59
第二个"*" 一天当中的第几小时 0-23
第三个"*" 一月当中第几天 1-31
第四个"*" 一年当中第几个月 1-12
第五个"*" 一周中的星期几 0-7(0和7都代表星期日)
特殊符号 含义
* 代表任何时间。比如第一个"*"就代表一小时中每分钟都执行一次的意思
, 代表不连续的时间。比如"0 8,12,16 * * * 命令",就代表在每天的8点0分,12点 分,16点0分都执行一次命令
- 代表连续的时间范围。比如"0 5 * * 1-6命令",代表在周一到周六的凌晨5点0分执行命令
*/n 代表每隔多久执行一次。比如"/10 * * * * 命令",代表每隔10分钟就执行一篇命令
时间 含义
45 22 * * * 命令 在22点45分执行命令
0 17 * * 1 命令 每周1的17点0分执行命令
0 5 1,15 * * 命令 每月1号和15号的凌晨5点0分执行命令
40 4 * * 1-5 命令 每周一到周五的凌晨4点40分执行命令
*/10 4 * * * 命令 每天的凌晨4点,每隔10分钟执行一次命令
0 0 1,15 * 1 命令 每月1号和15号,每周一的0点0分都会执行。注意:星期几和几号最好不要同时出现,星期几和几号定义的都是天。非常容易让管理员混乱
注意事项:
六个选项都不为空,必须填写,不确定的用"*"代替
crontab定时任务,最小有效时间是分钟,最大时间范围是月
日期和星期最好不要在同一条命令中
命令最好(一定)用绝对路径执行
举例:
*/5 * * * * /bin/echo "11" >> /tmp/test
5 5 * * 2 /sbin/shutdown -r now #不建议使用
0 5 1,10,15 * * /root/sh/autobak.sh
查看全部 -
1、确定at安装
chkconfig --list | grep atd #at服务是否安装
service atd status #查看atd运行状态
service atd restart #启动at服务
2、at访问控制
如果系统中有/etc/at.allow文件(白名单),那么只有在此名单下的用户可以使用at命令(/etc/at.deny文件会被忽略)
如果系统中没有/etc/at.allow文件,只有/etc/at.deny文件(黑名单),那么在此名单下的用户不能使用at命令(对root不起作用)
如果系统这两个文件都不存在,那么只有root用户可以使用at命令
注意:
系统默认的是/etc/at.deny
3、at命令
at [选项] 时间 #一般不用加选项 at 时间
选项:
-m #当at工作完成后,无论是否命令有输出,都用email通知执行at命令的用户
-c #显示该at工作的实际内容
举例:
at 02:00 2019-01-27 #在2019年1月27日 凌晨两点 开始执行
at now +2 minutes #在两分钟后执行(内容在下一行写,必须写绝对路径)
at> /root/hello.sh #执行hello.sh脚本,写完后enter,按ctrl+d保存退出
操作1:
vi /root/hello.sh
chmod 755 hello.sh
./hello.sh
ls
cat hello.log
at now +2 minutes #at> /root/hello.sh CTRL+D保存退出
atd
at -c 1
cat hello.log
操作2:
at 02:00 2020-01-27 #在指定的时间重启 at> /bin/sync at>/sbin/shutdown -r now
5、其他at管理命令
atq #查询当前服务器上的at工作
atrm [工作号] #删除指定的at任务
查看全部
举报