实验环境:为了更好地了解和控制Linux服务器的有序运行,管理员需要对系统中的进程进行管理,并设置计划任务来有效地监控与维护Linux服务器的正常运行。

需求描述:

管理系统中的进程

  • 使用kill命令终止postfix服务的运行。
  • 查找系统中CPU占用率超过80%的进程,并强行终止该进程。

设置计划运行的系统管理任务

  • 每周一的早上7:50自动清空FTP服务器公共目录/var/ftp/pub中的数据。
  • 每天晚上的10:30自动执行任务,完成以下操作:显示当前的系统时间并查看已挂载
  • 磁盘分区的磁盘使用情况,将输出结果追加保存到文件/var/log/dflog中,以便持续观察硬盘空间的变化。
  • 确认所设置的计划任务列表。

步骤如下:

使用kill命令终止postfix服务的运行

[root@pd001 ~]# systemctl start postfix.service
[root@pd001 ~]# ps aux | grep "postfix"
root 7173 0.0 0.1 91628 2136 ? Ss 10:58 0:00 /usr/libexec/postfix/master -w
postfix 7179 0.0 0.2 91732 4084 ? S 10:58 0:00 pickup -l -t unix -u
postfix 7180 0.0 0.2 91800 4108 ? S 10:58 0:00 qmgr -l -t unix -u
root 7867 0.0 0.0 112728 988 pts/0 S+ 10:59 0:00 grep --color=auto postfix
[root@pd001 ~]# kill 7179
[root@pd001 ~]# kill 7180
[root@pd001 ~]# ps aux | grep "postfix"
root 7173 0.0 0.1 91628 2136 ? Ss 10:58 0:00 /usr/libexec/postfix/master -w
root 7920 0.0 0.0 112728 988 pts/0 S+ 11:01 0:00 grep --color=auto postfix

查找系统中CPU占用率高的进程,并强行终止该进程。

使用top命令查看占用情况,使用k输入进程号可终止进程

[root@pd001 ~]# top
top - 11:51:33 up 53 min, 1 user, load average: 0.00, 0.01, 0.01
Tasks: 175 total, 1 running, 174 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1863248 total, 998124 free, 406320 used, 458804 buff/cache
KiB Swap: 1048572 total, 1048572 free, 0 used. 1217716 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6771 root 20 0 573824 17276 6096 S 0.3 0.9 0:00.44 tuned
1 root 20 0 128288 6936 4172 S 0.0 0.4 0:01.10 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.05 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.17 rcu_sched
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
11 root rt 0 0 0 0 S 0.0 0.0 0:00.01 watchdog/0
12 root rt 0 0 0 0 S 0.0 0.0 0:00.01 watchdog/1
13 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/1
.....省略部分内容....

设置计划运行的系统管理任务

执行“crontab -e”命令,设置计划任务

[root@pd001 ~]# crontab -e

每周一的早上7:50自动清空FTP服务器公共目录/var/ftp/pub中的数据。

每天晚上的10:30自动执行任务,完成以下操作:显示当前的系统时间并查看已挂载

磁盘分区的磁盘使用情况,将输出结果追加保存到文件/var/log/dflog中,以便持续观察硬盘空间的变化。

50 7 * * 1 /bin/rm -rf /var/ftp/pub/*   \\每周一的早上7:50自动清空FTP服务器公共目录
/var/ftp/pub中的数据。
30 22 * * * /bin/date > /var/log/df.log \\每天晚上的10:30自动执行任务,完成以下操作
:显示当前的系统时间并查看已挂载
30 22 * * * /bin/df -hT >> /var/log/df.log \\磁盘分区的磁盘使用情况,将输出结果追加
保存到文件/var/log/dflog中,以便持续观察硬盘空间的变化。

确认所设置的计划任务列表。

[root@pd001 ~]# crontab -l
50 7 * * 1 /bin/rm -rf /var/ftp/pub/*
30 22 * * * /bin/date > /var/log/df.log
30 22 * * * /bin/df -hT >> /var/log/df.log