1 systemctl
服务管理命令,从CentOS7以后可以使用
systemctl start COMMAND
systemctl stop COMMAND
systemctl restart COMMAND
systemctl reload COMMAND #重新加载配置,不是所有命令都支持
systemctl status COMMAND
systemctl enbale COMMAND #使服务开机自启动,CentOS6为chkconfig COMMAND on
systemctl disable COMMAND #使服务不开机自启动,CentOS6为chkconfig COMMAND off
systemctl daemon-reload #修改了/usr/lib/systemd/system/下的服务脚本时,需要重新加载
2 crontab
守护进程是crond
,需要开启此服务
2.1 系统定时任务
/etc/cron.daily、/etc/cron.hourly、/etc/cron.monthly、/etc/weekly
目录存放了定时执行的脚本
2.2 用户定时任务
在/var/spool/cron/
存放了不同用户的定时任务配置文件
crontab -e
进行定时任务编辑,语法如下:
# 注释,好习惯要添加注释
* * * * * CMD
分 时 日 月 周
---------------------------------------------------------------
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sunday, or use names)
语法
- 如果时间位置为*,则是每分/每小时/每日/每月/每周的意思
* 12 * * * CMD
表示每天的12点每分钟
都执行命令
0 12 * * * CMD
表示每天的12点都执行命令
01 12 * * * CMD
表示每天的12点01分执行命令 - 如果要表示每隔n分/n小时/n日/n月/n周,用*/n来表示
*/5 * * * * CMD
表示每隔5分钟执行命令 - 还可以用
-
,
来连接不同的时间
*/5 3-5,7,10 * * * CMD
表示每天的3-5、7、10点每隔5分钟执行命令
注意事项
- 定时任务要加注释
- 直接写
date
命令的%要转义,date +\%F\%T
,或者将date
命令部分放到脚本中 - 命令要用绝对路径来写,因为定时任务的
PATH
变量只有/usr/bin:/bin
- 执行脚本要这样写
/bin/bash 文件 &>/dev/null
- 命令的如果产生输出信息,都会以邮件的形式发送到
/var/spool/mail/
下的用户邮件文件中。为了避免文件无限增大,推荐配置&>/dev/null
- 星期不要和日期同时设置
crontab命令的参数
crontab -e #创建和修改计划任务
crontab -l #查看当前用户的计划任务
crontab -l -u USERNAME #查看其他用户的计划任务
crontab -r #删除当前用户所有计划任务
2.3 日志文件
/var/log/cron
2.4 黑名单文件
/etc/cron.deny
防止哪些用户编写定时任务,在其中写入用户名即可
3 aide
配置文件一致性检查工具,可以检查文件的元数据、内容、哈希值、大小的任何修改
安装aide
yum -y install aide
配置文件是/etc/aide.conf
,文件中的FIPSR
、CONTENT_EX
、CONTENT
等变量代表校验哪些信息,如下的这一部分表示了要校验哪些文件夹,除默认的一些文件夹外还可自行添加。例如:/boot/
以CONTENT_EX
的方式来校验。
# Next decide what directories/files you want in the database. Aide
# uses a first match system. Put file specific instructions before generic
# matches. e.g. Put file matches before directories.
/boot/ CONTENT_EX
/bin/ CONTENT_EX
/sbin/ CONTENT_EX
/lib/ CONTENT_EX
/lib64/ CONTENT_EX
/opt/ CONTENT
进行现有文件信息备份,生成的备份文件为/var/lib/aide/aide.db.new.gz
。
aide --init
当系统运行一段时间需要进行文件改动校验时,将/var/lib/aide/
下的aide.db.new.gz
更名为aide.db.gz
进行检查
aide --check
4 nohup和&
- &:后台运行,免疫ctrl+C退出,但是用户退出shell,进程会关闭
- nohup:永久执行,用户退出shell,进程依旧执行,但是ctrl+C会令进程关闭
要让进程真正不受Ctrl+C和shell关闭的影响
nohup conmmand &
5 ps
进程管理,一般用法是ps aux
,如需查看指定的进程可以ps aux | grep
来过滤出指定进程
显示信息共分11个部分,含义如下:
- 启用进程的用户
- 进程的PID
- 进程占用的CPU
- 进程占用的内存
- 进程使用的虚拟内存
- 进程使用的物理内存
- 启动进程的终端
- 进程状态,S表示Sleep,R表示Running。
PROCESS STATE CODES
Here are the different values that the s, stat and state output specifiers
(header "STAT" or "S") will display to describe the state of a process:
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped by job control signal
t stopped by debugger during the tracing
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent
For BSD formats and when the stat keyword is used, additional characters may be displayed:
< high-priority (not nice to other users)
N low-priority (nice to other users)
L has pages locked into memory (for real-time and custom IO)
s is a session leader
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+ is in the foreground process group
- 进程启动时间
- 进程持续的时间
- 启动进程的命令
5 kill 结束进程
kill -9 PID 强制结束
6 Linux启动流程
(1)加电自检:bios开机检查服务器硬件是否正常
(2)选择启动设备:根据bios设置的优先启动项(网卡、硬盘、u盘、光驱)boot
(3)MBR(GPT)引导:读取磁盘分区信息,内核加载路径
(4)grup菜单:选择启动的内核/进行单用户模式重置密码
(5)加载系统内核信息:可以更好的使用内核控制硬件
(6)systemd:系统的第一个进程运行起来systemd,systemd控制后续服务启动时,是并行启动。(Centos6的init是串行)
(7)读取启动文件,/usr/lib/systemd/system/default.target
,得知运行级别
(8)读取系统初始化文件,/usr/lib/systemd/system/sysinit.target
(9)加载/etc/systemd/system/
目录中的信息,根据target级别实现服务开机自动启动
(10)运行mingetty进程,显示开机登录信息界面
7 Linux开机自动启动的服务
/etc/systemd/system/
文件夹下的文件记录了不同target级别开机自动启动的服务
[root@nfs01 ~]$ ll /etc/systemd/system/
total 4
drwxr-xr-x. 2 root root 57 Dec 11 21:07 basic.target.wants
lrwxrwxrwx. 1 root root 57 Dec 11 21:07 dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service
lrwxrwxrwx. 1 root root 37 Dec 11 21:10 default.target -> /lib/systemd/system/multi-user.target
drwxr-xr-x. 2 root root 87 Dec 11 21:07 default.target.wants
drwxr-xr-x. 2 root root 32 Dec 11 21:07 getty.target.wants
drwxr-xr-x. 2 root root 35 Dec 11 21:07 local-fs.target.wants
drwxr-xr-x. 2 root root 4096 Dec 14 19:51 multi-user.target.wants
drwxr-xr-x. 2 root root 48 Dec 11 21:07 network-online.target.wants
drwxr-xr-x 2 root root 31 Dec 14 19:31 remote-fs.target.wants
drwxr-xr-x. 2 root root 51 Dec 14 19:31 sockets.target.wants
drwxr-xr-x. 2 root root 254 Dec 11 21:07 sysinit.target.wants
drwxr-xr-x. 2 root root 44 Dec 11 21:07 system-update.target.wants
drwxr-xr-x. 2 root root 58 Dec 11 21:07 vmtoolsd.service.requires
正常的启动级别是multi-user
,multi-user.target.wants
文件夹下是正常启动Linux会加载的服务
[root@nfs01 ~]$ ll /etc/systemd/system/multi-user.target.wants/
total 0
lrwxrwxrwx. 1 root root 38 Dec 11 21:07 auditd.service -> /usr/lib/systemd/system/auditd.service
lrwxrwxrwx. 1 root root 37 Dec 11 21:07 crond.service -> /usr/lib/systemd/system/crond.service
lrwxrwxrwx. 1 root root 42 Dec 11 21:07 irqbalance.service -> /usr/lib/systemd/system/irqbalance.service
lrwxrwxrwx. 1 root root 46 Dec 11 21:07 NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
lrwxrwxrwx 1 root root 41 Dec 14 19:31 nfs-client.target -> /usr/lib/systemd/system/nfs-client.target
lrwxrwxrwx 1 root root 42 Dec 14 19:51 nfs-server.service -> /usr/lib/systemd/system/nfs-server.service
lrwxrwxrwx. 1 root root 39 Dec 11 21:07 postfix.service -> /usr/lib/systemd/system/postfix.service
lrwxrwxrwx. 1 root root 40 Dec 11 21:07 remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
lrwxrwxrwx. 1 root root 46 Dec 11 21:07 rhel-configure.service -> /usr/lib/systemd/system/rhel-configure.service
lrwxrwxrwx 1 root root 39 Dec 14 19:31 rpcbind.service -> /usr/lib/systemd/system/rpcbind.service
lrwxrwxrwx. 1 root root 39 Dec 11 21:07 rsyslog.service -> /usr/lib/systemd/system/rsyslog.service
lrwxrwxrwx. 1 root root 36 Dec 11 21:07 sshd.service -> /usr/lib/systemd/system/sshd.service
lrwxrwxrwx. 1 root root 37 Dec 11 21:07 tuned.service -> /usr/lib/systemd/system/tuned.service
lrwxrwxrwx. 1 root root 40 Dec 11 21:07 vmtoolsd.service -> /usr/lib/systemd/system/vmtoolsd.service
网友评论