linux基础服务(2)
目录
rsync和inotify
inotify
安装
检测系统是否支持inotify
常用命令
inotifywait
inotifywatch
cron定时服务
基本命令
配置任务时
注意事项
NPT时钟服务
1.现在标准时间由原子钟报时,所以NPT来源可以为原子钟、网络
2.其由多个服务器层层报时,一个服务器下还有多个服务器,越顶端的服务器层级(straum)越低,时间越准确
NPT服务器配置
服务器端
客户端配置
chrony服务
配置文件
常用命令
注意事项
rsync和inotify
虽然rsync能实现差量传输同步客户端和服务端目录,但其不能进行实时检测,即使使用守护进程触发同步,也会有一定时间差,万一出现故障,数据恢复不能完全恢复。
inotify
其是一种文件系统监控机制,可监测大部分文件操作,比如添加、删除、修改、移动等。
我们上面提到rsync不能进行实时同步文件,而要是联合inotify一起使用,就可以避免不能实时同步的问题
安装
检测系统是否支持inotify
uname -r
版本是2.6.13以上即可
常用命令
inotifywait
监听文件或目录的创建,删除,修改等
参数
-m 持续监听(默认触发一次退出,使用此命令则会继续)
-v 详细显示监控时间的信息
-e 指定监听事件类型(creat、remove等)
-r 递归监控目录(包含子目录或文件)
-q 静默模式减少信息的输出
-o 将监控的信息输入带文件而不是前台终端
inotifywatch
统计文件 / 目录的事件发生次数(如统计 1 分钟内某目录的修改、删除事件数量 )
参数
-r 同上
-v 同上
-t 指定监控的时间
-e 同上
cron定时服务
cron是一种定时服务,用于定时启动某些命令或者脚本,一般用于定时清理日志或者备份文件,其核心由crond守护进程和crontab命令来执行
可用systemdctl管理
基本命令
corntab -e 打开编辑文件,保存后自动生效
crontab -l 列出当前用户已经配置的定时任务
crontab -r 删除所有定时任务
crontab -u usernsme 管理指定用户的定时任务
我们还可以配置/etc/cron.d/username来配置用户级别的任务
如图所示,该任务为“每小时的第一分钟以root的身份遍历录/etc/cron.horly内的所有可执行文件,并执行”
配置任务时
配置执行文件时shell环境
搜索执行命令路径
设定任务执行结果的邮件接收者为 root 用户
* * * * * 分别代表分、时、日、月、周 username command
注意事项
1.重定向保存日志
当定时任务不能正常执行时、我们可以查看日志来确定问题,但这样一来、所有的定时任务日志都会在/var/log/main/username中,这会使得我们很难找到需要查看的日志,所以我们可以进行输出重定向来保存不同任务的日志
2.后台执行
在任务后面加上&符号可是任务不占用前台
3.日志的分割
通过date函数来分割日志,其中的%需要转义,不能被直接识别
,可以直接在前台执行相关命令
4.环境变量的问题
当手动输入可以执行命令,但定时命令无法执行时,大概率是环境变量的问题,可直接引入环境变量
NPT时钟服务
1.现在标准时间由原子钟报时,所以NPT来源可以为原子钟、网络
2.其由多个服务器层层报时,一个服务器下还有多个服务器,越顶端的服务器层级(straum)越低,时间越准确
NPT服务器配置
首先服务器端和客户端都需安装ntp
服务器端
vi /etc/ntp.conf
配置多个服务器,则会由上到下匹配(有优先级) inburst当服务器不可时发包检测
配置 本地服务时钟服务器
fudge straum 层级 不可设为0级,因为需要向其他服务器更新时间
记得重启服务时 命令为 ntpd不是ntp
客户端配置
同样的文件
vi /erc/ntp.conf
将之前的服务器注释掉
配置服务器的ip straum即可 记得后面加 iburst
重启服务
用ntpstat查看同步状态
用ntpq -pn查看匹配服务器的状态*代表匹配成功
chrony服务
配置文件
vi /etc/chrony.conf
与ntp类似,我们在这里配置阿里云的时间源
allow source只允许客户端来同步时间
local straum 服务器层级
常用命令
chronyc -makestep 立即同步时间
chronyc -tracking 显示同步信息
chronyc -sources 查看时间同步源
chronyc -delete 删除服务器
注意事项
1.
chronyc sources -v 查看时间源状态,若出现
x(时间可能有误 )、~(时间变化过大 )等标识
,及时检查对应时间源的网络连通性、可靠性,或更换时间源 。比如 x 可能因多次测量不一致,要排查网络波动、时间源服务器问题 。
2.
修改 /etc/chrony.conf 后,务必重启 chronyd 服务(sudo systemctl restart chronyd ),否则新配置不会生效,chronyc 执行命令时仍按旧配置运行 。