计划任务执行脚本-top-kill

1. 每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间

#!/bin/bash
BackDir="/backup"
Filename_tar="etcbak-"`date -d "-1 days" +%Y-%m-%d-%H`".tar.gz"
Filename_log="etcbak-"`date -d "-1 days" +%Y-%m-%d-%H`".log"
[ ! -d $BackDir ]&& mkdir -p /backup
tar czvf $BackDir/$Filename_tar /etc > $BackDir/$Filename_log   2>&1
crontab -e
30 1 * * 1-5 /root/etcbackup.sh

2,解释top 每一行的意义

 

 当前时间   系统上线时间    当前登录用户数 系统负载

进程总数   运行进程数 休眠进程数  定制进程数  僵尸进程数

用户空间占比  内核空间占比 改变过优先级进程占比  空闲CPU占比  IO等待占比  硬中断占比  软中断占比

物理内存总量  空闲内存总量  已使用物理内存总量 内核缓存内存量

交换分区总量 空闲交换分区总量 使用交换分区总量

进程ID  用户 优先级  Nice值 虚拟内存  常驻内存 共享内存 

4,如何实现秒级的计划任务

for min in 0 1 2; do echo "hi"; sleep 2; done

5,11月每天的6-12点之间每隔2小时执行/app/bin/test.sh

#在6,8,10,12点整共4次分别执行test.sh
[root@centos8 ~]#crontab -l
0 6-12/2 * 11 * /app/bin/test.sh
#以下配置只会在5,7,9,11点整执行
0 5-12/2 * 11 * /app/bin/test.sh

6,kill使用

kill:内部命令,可用来向进程发送控制信号,以实现对进程管理,每个信号对应一个数字,信号名称以SIG开头(可省略),不区分大小写
-SIGNAL
-u uid: effective user,生效者
-U uid: real user,真正发起运行命令者
-t terminal: 与指定终端相关的进程
-l: 显示进程名(pgrep可用)
-a: 显示完整格式的进程名(pgrep可用)
-P pid: 显示指定进程的子进程
     利用 0 信号实现进程的健康性检查
[root@Rocky8 yum.repos.d]# kill -0 `pidof tail`
[root@Rocky8 yum.repos.d]# echo $?
0
1) SIGHUP 无须关闭进程而让其重读配置文件
2) SIGINT 中止正在运行的进程;相当于Ctrl+c
3) SIGQUIT 相当于ctrl+\
9) SIGKILL 强制杀死正在运行的进程,可能会导致数据丢失,慎用! #数据库数据丢失,容易起不来
15) SIGTERM 终止正在运行的进程,默认信号
18) SIGCONT 继续运行
19) SIGSTOP 后台休眠

killall -0 tail

pkill -t pts/2  #剔除终端

关掉指定端口的进程
[root@centos7 ~]# fuser -k -9 80/tcp
80/tcp:                945   947   948

  

posted @ 2022-04-19 21:01  gg888666  阅读(132)  评论(0编辑  收藏  举报