- ps
ps aux | grep firefox
pgrep -a firefox
-a 显示一个终端所有的进程,除了会话引线;
-u 选择有效的用户ID或者是用户名;
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。
-d 显示所有进程,但省略所有会话引线;dx不可合用;
-e 包含每个进程的环境变量;
ps ax1
表示进程的父进程;
1 以长格式显示输出,与u不兼容;
Z 标示与进程相关的SELinux上下文;
- top
关系系统上整个加载信息的方法之一:
- sar: 不同时间点的CPU度量指标,默认10分钟测量一次CPU负载;此任务驱动由/etc/cron.d/目录中的常规任务驱动;
例子中有8个逻辑的CPU(4个内核启用了超线程技术,将单独和作为整体测量他们);
空闲数字大,标示CPU并没有过载;
这些报告的输出被收集到/var/log/sa目录中;
其中sa日志文件保存时间数定义在/etc/sysconfig/sysstat文件中;
sar的变体:sa1、sa2:收集系统活动报告数据;
sa1:每10分钟收集一次系统活动数据;
sa2:在同一cron文件中,sa2命令在/var/log/sa目录中写入日常报告。如脚本所示,午夜前7分钟开始处理报告;
- iostat
与/etc/cron.d/sysstat脚本相关的sa1和sa2命令记录在系统的活动信息。
iostat 5 12 每个5s统计CPU和存储设备,一共统计12次;
系统管理自动化
- cron: 需要为每个cron配置文件中的每个命令指定确切路径(如果在crontab PATH中未指定的话)
在第六个字段可以使用百分比符号(%)建立新代码行,第一个百分比符号后的所有文本都作为标准输入被发送给命令。例:
45 10 * * Fri mail -s "Project Update" employees@example.com
%Can I have a Status update on your project?%%Your Boss.%
按小时执行的工作任务:
01 * * * * root run-parts /etc/cron.hourly
每10分钟、每小时每天运行一次(系统状态):
*/10 * * * * root /usr.lib64/sa/sa1 1 1
每天23小时之后的53分钟运行(系统活动报告):
53 23 * * * root /usr/lib64/sa/sa2 -A
定期anacorn工作任务:
anacron文件中都有部分相同的环境变量,可自定义增加如下环境变量:
RANDOM_DELAY=45 (在指定时间之后的随机时间(最长45分钟运行脚本))
START_HOURS_RANGE=3-22 (anacron工作任务只在上午3点至晚上10:59之间的几个小时运行)
虽然/etc/anacrontab的格式与定期cron工作任务脚本中列出的格式类似,但也有区别。每行数据的顺序由下面的注释指定。
# period in days delay in minutes job-identifier command
- at 在将来指定的时间运行所选择的命令一次
at now +1 minutes < /home/test/bin/797.sh
atq对所有未决的任务进行查询;
atrm 对未决有问题的任务进行删除;
- 安全的cron
对定期和定时任务执行的权限进行控制,可在/etc/cron.allow和/etc/cron.deny文件中进行配置用户。若文件不存在,cron的使用将被限制为跟管理用户。
文件的格式以每个用户一行
安全的at
/etc/at.allow
/etc/at.deny
若特别关注安全的话,最好仅在/etc/cron.all和/etc/at.allow只包含所需要的用户。否则服务账户里的安全漏洞会使黑客能从相关账户运行cron和at脚本。
- 本地日志文件分析:
传统日志服务:rsyslog 记录所有进程活动。
rsyslog将输出记录到文件的方法基于/etc/rsyslog.conf文件中定义的配置及/etc/rsyslog.d目录中的文件;
增强型日志守护进程:systemed-journald 日志存储在/var/log/journal目录下 采用RAM tmpfs文件系统;主要优势在于它不仅可以存储内核和syslog消息,还可以存储服务发送给标准输出或标准错误的其他任何输出。你不必知道守护进程是在何处发送他的日志,因为systemd会捕获所有这些消息并将其记录到journal中
日志优先权按升序排列:debug>info>notice>warn>err>crit>alert>emerg
来自rsyslogd守护进程的大多数消息被写入/var/log目录的文件中。应该定期扫描扫描这些日志,查找可能指明安全漏洞的模式,也可以建立cron工作任务来查找这些模式;
VSZ 进程的虚拟内存大小;
RSS 进程使用的物理内存;
TIME 使用的累积CPU时间;
top
- nice -n 19 ./intensivescript
renice -n 10 1234
renice
kill -l PID 重新加载某个进程,类似于systemctl reload 服务名;
killall
sar iostat
- 打包备份
gzip:DEFLATE
bzip2:Burrows-Wheeler块排序算法,命令的压缩率更高
gzip gzip.doc
bzip2 bzip2.doc
gzip -d gzip.doc.gz
hzip2 -d bzip2.doc.bz2
tar:从目录中收集系列文件并把这些文件存放在一个存档文件中。
tar czvf home.tar.gz /home 从home.tar.gz文件中的/home目录备份信息;
tar xvzf home.tar.gz /home 从home.tar.gz文件中提取/home中的信息;
指定的压缩(z)与gzip命令相关;如果使用bzip2压缩,可替换为j开关。tar命令可以存储并提取访问控制列表设置,也可以使用--selinux选项存储并提取selinux属性;
如果在创建tar存档文件时没有使用--selinux选项,可用restorecon命令恢复存档文件的selinux上下文;
star(待补充)