ps xo cmd,%CPU k %cpu 排序查看cmd和CPU相应的列 按CPU排序
renice -n -10 2612 更改进程2612的优先级为-10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
用户 占用CPU百分比 占用内存百分比 承诺内存大小 终端编号 状态 开启时间 占用cup时间片 进程程序名
top - 10:51:32 up 25 min, 2 users, load average: 0.00, 0.00, 0.00 :这一行是uptime命令的结果显示
Tasks: 142 total, 1 running, 141 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
0.0%hi :硬中断,例如我键盘敲了一下,硬件就会给CPU发信号,我这边发生了什么事
Mem: 1004112k total, 352980k used, 651132k free, 22272k buffers
Swap: 2097148k total, 0k used, 2097148k free, 125148k cached
小写l是隐藏uptime命令结果,在敲l显示uptime命令结果
大写W是保存到文件,默认保存到家目录是隐藏文件 .toprc
top -n 3 -b -d 2 :显示全部进程,刷新的间隔时间为2秒,总共刷新3次
echo 1 > /proc/sys/vm/drop_caches 清除内存里面的缓存
cat /proc/1/maps 查看1进程编号的内存具体使用情况
开启glances ,在被监控端,以服务器的方式开启,开启以后会监控一个端口,然后在另一台机器以glances客户端连接被监控的主机
glances -c 192.168.249.141 在客户端开启glances 连接被监控的服务器
dstat工具,系统资源统计,代替vmstat,iostat
pkill -t pts/0 杀死pts/0的所有进程,默认的信号是15
前台执行占用终端资源,前台进程如果不结束,终端资源就没有办法被其他命令执行
后台执行:在命令的后面加一个& ,就变成后台执行,不耗费终端资源
[1]+ Running ping 172.20.0.1 &
在执行后台程序的时候不能用crtl+c 结束,要把它变成前台进程或者来来来杀死进程
Ctrl+z 把正在执行的前台进程变成后台进程,但是是休眠状态
[1]+ Running ping 172.20.0.1 &
后台的作业,虽然在后台执行但是和终端相关,终端关闭,后台作业就停止
2:ping 172.20.0.1 & 在单独的会话中执行后台命令
3:screen -r :如果忽然断网,可以用 -r恢复继续执行
第二种方法:(ping 127.1 &);(ping 127.2 &);(ping 127.3 &)
第三种方法:{ ping 127.1 & ping 127.2 & ping 127.3 & }
rpm -ivh at-3.1.13-22.el7.x86_64.rpm 安装at包
systemctl status atd 查看是不是running状态,如果不是手动开启
centos7 开启:systemctl start atd
centos 7: vim /etc/chrony.conf
server 172.20.0.1 iburst 加入这一行
server 172.20.0.1 iburst 加入这一行
[root@centos6 ~]#at 18:00 设置将来的一个时间
job 1 at 2018-05-05 18:00 显示有一个任务计划在几点几分执行
cat /var/spool/at/a000010183f558
[root@centos6 ~]#at now + 15minutes 在未来的15分钟
[root@centos6 ~]#at -f f1.txt now + 1minutes
如果计划任务带标准输出,不会在当前终端显示,但是它会以邮件的方式发给你
如果计划任务里面有标准输出会造成大量的垃圾邮件,把标准输出重定向到&> /dev/null
at -m 如果你不知道你的任务计划执没执行,就加一个-m强制发邮件
白名单和黑名单:可以规定哪个用户可以执行计划,哪个用户不可以执行任务计划
白名单 :/etc/at.allow 默认不存在,要创建,将用户加入白名单
黑名单 :/etc/at.deny 默认存在 将用户写入文件,用户就不能执行任务计划
如果有白名单,只有白名单里面的用户能执行任务计划,其他用户不能执行
如果没有有白名单,只有黑名单那只有黑名单里面的用户不能执行任务计划,其他用户都可以
rpm -ivh /mnt/cdrom/Packages/cronie-1.4.11-17.el7.x86_64.rpm
centos7 :启动服务 systemctl start crond
centos6 :启动服务 service crond start
rpm -ivh /misc/cd/Packages/cronie-anacron-1.4.4-16.el6_8.2.x86_64.rpm
补充工具,用于监控cronie任务执行情况,如果任务计划在该执行的时间点没有执行,则anacron会随后启动一次任务计划
rpm -ivh /misc/cd/Packages/crontabs-1.10-33.el6.noarch.rpm
/etc/crontab :属于系统的关于任务计划的配置文件,这个文件定义了计划任务相关信息
[root@centos7 ~]#cat /etc/crontab
PATH=/sbin:/bin:/usr/sbin:/usr/bin :计划任务有一些可执行程序,这些程序在哪个路径下搜索
MAILTO=root :如果计划发现信息,给相应的人发邮件
# For details see man 4 crontabs
# .---------------- minute (0 - 59) 几分钟
# | .------------- hour (0 - 23) 几小时小时
# | | .---------- day of month (1 - 31) 几天
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 一年12个月
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 星期几,也可以 1-5显示星期一到星期五
# * * * * * user-name command to be executed
1 17 * * * root tar zcvf /data/etc.tar.gz /etc/ &> /dev/null
5点01分 每天 每月 每星期 root用户执行/etc/下的文件压缩到data目录下 ,并重定向到垃圾黑洞
1号,10号,20号,每月每星期17点16分 root用户执行某程序
16 17 1,10,20 * 0,6 root tar Jcvf /data/etc.tar.xz /etc/ &> /dev/null
1号,10号,20号或星期日和星期六17点16分 root用户执行程序
[ $ti -eq 6 -o $ti -eq 0 ] && wall hello
[ $ti -eq 6 -o $ti -eq 0 ] && wall hello
40 17 1.10,20 * 0,6 root /root/f2.sh
*/10 17 1.10,20 * 0,6 root /root/f2.sh
cat /var/log/cron 日志记录了当前发生的事件
* * * * * wall hello 每分钟广播一次 不需要写用户名
cat /var/spool/cron 计划任务放在这个文件,放在磁盘上
crontab -l -u wang 查看wang用户的计划任务
crontab -e -u wang 编辑wang用户的计划任务
crontab -r -u wang 删除wang用户的计划任务
白名单 :/etc/cron.allow 默认不存在,要创建,将用户加入白名单
黑名单 :/etc/cron.deny 默认存在 将用户写入文件,用户就不能执行任务计划
在cron里面的%号有特殊含义,不能直接使用,写在脚本里面直接调用
1、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式
为“etcbak-yyyy-mm-dd-HH.tar.xz” ,其中日期是前一天的时间
05 21 * * * root tar Jcvf /data/etcbak-`. time.sh`.tar.xz /etc/
2、每两小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加至
* */2 * * * cat /proc/meminfo |egrep "^(S|M)" >> /tmp/meminfo.txt
3、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高
disk1=`df |grep "sd" |sed -r "s/.*[ ]+([0-9]{1,3}).*/\1/" |sort -nr |head -n1`
disk2=`df -i |grep "sd" |sed -r "s/.*[ ]+([0-9]{1,3}).*/\1/" |sort -nr |head -n1`
[ $disk1 -ge 80 -o $disk2 -ge 80 ] && wall Disk over 80%
[ $[$uid%2] -eq 0 ] 数字除2等于0就是偶数
rpm -ivh at-3.1.13-22.el7.x86_64.rpm 安装at包
systemctl status atd 查看是不是running状态,如果不是手动开启
centos7 开启 :systemctl start atd
[root@centos6 ~]#at 18:00 设置将来的一个时间
job 1 at 2018-05-05 18:00 显示有一个任务计划在几点几分执行
at -c 1 :查看第1个任务计划的内容
cat /var/spool/at/a000010183f558
[root@centos6 ~]#at now + 15minutes 在未来的15分钟
-c 查看任务计划内容
[root@centos6 ~]#at -f f1.txt now + 1minutes
如果计划任务带标准输出,不会在当前终端显示,但是它会以邮件的方式发给你,这样就会造成大量的垃圾邮件,把标准输出重定向到&> /dev/null ,就不会收到邮件
at -m 如果你不知道你的任务计划执有没有执行,就加一个-m强制发邮件,到你的邮箱
白名单和黑名单:可以规定哪个用户可以执行计划,哪个用户不可以执行任务计划
白名单 :/etc/at.allow 默认不存在,要创建,将用户加入白名单
黑名单 :/etc/at.deny 默认存在将用户写入文件,用户就不能执行任务计划
规则 :如果有白名单,只有白名单里面的用户能执行任务计划,其他用户不能执行
如果没有白名单,只有黑名单那只有黑名单里面的用户不能执行任务计划,其他用户都可以
rpm -ivh /mnt/cdrom/Packages/cronie-1.4.11-17.el7.x86_64.rpm
centos7 :启动服务 systemctl start crond
centos6 :启动服务 service crond start
rpm -ivh /misc/cd/Packages/cronie-anacron-1.4.4-16.el6_8.2.x86_64.rpm
补充工具,用于监控cronie任务执行情况,如果任务计划在该执行的时间点没有执行,则anacron会随后启动一次任务计划
rpm -ivh /misc/cd/Packages/crontabs-1.10-33.el6.noarch.rpm
/etc/crontab :属于系统的关于任务计划的配置文件,这个文件定义了计划任务相关信息
[root@centos7 ~]#cat /etc/crontab
PATH=/sbin:/bin:/usr/sbin:/usr/bin :计划任务有一些可执行程序,这些程序在哪个路径下搜索
MAILTO=root :如果计划发出信息,给相应的人发邮件
# For details see man 4 crontabs
# | .————- hour (0 – 23) 几小时小时
# | | .———- day of month (1 – 31) 几天
# | | | .——- month (1 – 12) OR jan,feb,mar,apr … 一年12个月
# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 星期几,也可以 1-5显示星期一到星期五
# * * * * * user-name command to be executed
1 17 * * * root tar zcvf /data/etc.tar.gz /etc/ &> /dev/null
5点01分 每天 每月 每星期 root用户执行/etc/下的文件压缩到data目录下 ,并重定向到垃圾黑洞
1号,10号,20号,每月每星期17点16分 root用户执行某程序
16 17 1,10,20 * 0,6 root tar Jcvf /data/etc.tar.xz /etc/ &> /dev/null
1号,10号,20号或星期日和星期六17点16分 root用户执行程序
[ $ti -eq 6 -o $ti -eq 0 ] && wall hello 如果数字等于6会在0 会发送一个hello的广播
[ $ti -eq 6 -o $ti -eq 0 ] && wall hello
40 17 1,10,20 * * root /root/f2.sh
cat /var/log/cron 日志记录了当前发生的事件
* * * * * wall hello 每分钟广播一次 不需要写用户名
cat /var/spool/cron 计划任务放在这个文件,在root用户下可以查看和修改
crontab -l -u wang 查看wang用户的计划任务
crontab -e -u wang 编辑wang用户的计划任务
crontab -r -u wang 删除wang用户的计划任务
白名单 :/etc/cron.allow 默认不存在,要创建,将用户加入白名单
黑名单 :/etc/cron.deny 默认存在将用户写入文件,用户就不能执行任务计划
在cron里面的%号有特殊含义,不能直接使用,写在脚本里面直接调用
1、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式
为“etcbak-yyyy-mm-dd-HH.tar.xz” ,其中日期是前一天的时间
05 21 * * * root tar Jcvf /data/etcbak-. time.sh.tar.xz /etc/
2、每两小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加至
* */2 * * * cat /proc/meminfo |egrep “^(S|M)” >> /tmp/meminfo.txt
3、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高
disk1=df |grep "sd" |sed -r "s/.*[ ]+([0-9]{1,3}).*/\1/" |sort -nr |head -n1
disk2=df -i |grep "sd" |sed -r "s/.*[ ]+([0-9]{1,3}).*/\1/" |sort -nr |head -n1