一、一个简单的shell脚本
要求:编写一个shell脚本,统计当前系统cpu使用率、内存使用率、磁盘空间,并将以上信息保存到 /root/xunjian.log中。
#!/bin/bash //声明shell环境
echo 当前时间: >> /root/xunjian.log ; date >> /root/xunjian.log
echo --------------------------------------------------- >> /root/xunjian.log
echo 内存统计 >> /root/xunjian.log
free -h >> /root/xunjian.log
echo --------------------------------------------------- >> /root/xunjian.log
echo 磁盘空间 >> /root/xunjian.log
df -h >> /root/xunjian.log
echo --------------------------------------------------- >> /root/xunjian.log
echo CPU使用率 >> /root/xunjian.log
top >> /root/xunjian.log
echo --------------------------------------------------- >> /root/xunjian.log
二、以上脚本涉及的基础命令
1、echo命令
//屏幕上输出指定文本
echo 文本内容
eg:
[root@localhost ~]# echo 你好,世界!
你好,世界!
[root@localhost ~]#
//使用指定文本覆盖当前文件中的内容
echo 文本内容 > /路径/文件名称
//输入文本追加到指定文间末尾
echo 文本内容 >> /路径/文件名称
2、date 命令
//查看系统时间
date
//修改系统时间
date -s "XXXXXX XX:XX:XX"
//同步软硬件时间
hwclock -w
//查看系统硬件时间
hwclock
3、free命令
//查看系统内存
free
//人性化显示系统内存
free -h
4、df 命令
//查看磁盘空间
df
//人性化显示磁盘空间
df -h
5、top命令
显示系统时间、用户数、CPU利用率、内存利用率、单个进程的运行信息
top - 09:24:09 up 5:39, 3 users, load average: 0.07, 0.03, 0.01
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
MiB Mem : 804.5 total, 370.4 free, 145.7 used, 288.3 buff/cache
MiB Swap: 4052.0 total, 4052.0 free, 0.0 used. 498.0 avail MemPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2189 root 20 0 0 0 0 I 0.3 0.0 0:00.98 kworker/0:0-events_power_efficient
2195 root 20 0 0 0 0 I 0.3 0.0 0:00.20 kworker/1:3-ata_sff
1 root 20 0 172396 10624 8220 S 0.0 1.3 0:01.83 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-events_highpri
9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_rude_
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_trace
12 root 20 0 0 0 0 S 0.0 0.0 0:00.04 ksoftirqd/0
13 root 20 0 0 0 0 I 0.0 0.0 0:04.85 rcu_sched
14 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
15 root rt 0 0 0 0 S 0.0 0.0 0:00.06 watchdog/0
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
18 root rt 0 0 0 0 S 0.0 0.0 0:00.06 watchdog/1
19 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/1
[root@localhost ~]#