系统管理常用命令

  • 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(待补充)

原文地址:https://www.cnblogs.com/cf532088799/p/7485838.html