ce学习第一天(例行性工作,chrony服务时间同步,两台服务器免密登录)

发布于:2024-06-30 ⋅ 阅读:(15) ⋅ 点赞:(0)

1、Linux 的例行性工作

1.1单一执行的例行性工作 at

单一执行的例行性工作:单一执行的例行性工作:仅处理执行一次就结束了,at -> atd

1.1.1 at 命令的实际工作过程

1、我们使用 at 命令来生成所要运行的工作,并将这个工作,以文本方式写入 /var/spool/at/目录内,该工作便能等待 atd 这个服务的取用与执行了。
2、为了安全问题,不是所有人都可以进行 at 工作调度,利用at.deny 这两个文件来进行 at 的使用限制。
3、若两个文件都不存在,那么只有 root 可以使用 at 命令
1.1.2 at 命令详解
命令格式:at [参数] [时间]
参数 说明
-m
当任务完成之后,即使没有标准输出,将给用户发送邮件
-l
atq 的别名,可列出目前系统上面的所有该用户的 at 调度
-d
atrm 的别名,可以取消一个在 at 调度中的工作
-v
使用较明显的时间格式,列出 at 调度中的任务列表
-c
可以列出后面接的该项工作的实际命令内容
-f
从文件中读取作业

at命令介绍及简单使用_at命令怎么用-CSDN博客 (前辈有例题,可以参考)

1.2 循环执行的例行性工作crond

   
循环执行的例行性工作:每隔一定的周期就需要执行一次,crontab
循环执行的例行性工作调度是由 crond 这个系统服务来控制的。同样,我们也可
以限制使用 crontab 的用户账号。    
1.2.1 crontab 命令的实际工作过程
当用户使用 crontab 新建工作调度之后,该项工作就会被记录到
/var/spool/cron/里面
cron 执行的每一项工作都会被 记录到/var/log/cron 这个日志文件中
命令格式: crontab [-u user] [-l | -r | -e]
参数 说明
-u 只有 root 才能进行这个任务,帮某个用户新建/删除 crontab
-e 编辑 crontab 的工作内容
-l 查阅 crontab 的工作内容
-r 删除所有的 crontab 的工作内容

Crontab命令详解-CSDN博客(前辈的crontab命令总结,值得学习)

值得注意的点:

1、当需要同一时间执行多个脚本时,可以将这多个脚本放在一个目录下,然后使用
run-parts 来执行。
run-parts:该命令可将后面接的目录内的所有文件找出来执行。
每小时执行/etc/cron.hourly目录内的脚本
01 * * * * root run-parts /etc/cron.hourly

2、Crontab命令后台执行&

前辈的博客里也有介绍,只截取例子:

打算在服务器上 每天晚上23:00 定时执行Python脚本,去备份MySql数据库,命令如下:

0 23 * * * python /var/www/html/crontab_python/back_db.py >/dev/null 2>&1

 command > file 2>&1 把标准输出和标准错误一起重定向到文件 command >> file 2>&1 把标准输出和标准错误一起追加到文件、

2、chrony 服务器

Chrony 是一个开源自由的网络时间协议 NTP 的客户端和服务器软软件。它能让计
算机保持系统时钟与时钟服务器(NTP)同步,因此让你的计算机保持精确的时
  间,Chrony 也可以作为服务端软件为其他计算机提供时间同步服务。
Chrony 由两个程序组成,分别是 chronyd chronyc  
chronyd 是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务
器同步。它确定计算机增减时间的比率,并对此进行补偿。
chronyc 提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在 chronyd 实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。
NTP 是网络时间协议(Network Time Protocol)的简称,通过 udp 123 端口进行
网络时钟同步。
RHEL7 中默认使用 chrony 作为时间服务器,也支持 NTP,需要额外安装。
NTP chrony 不能同时存在,只能用其中一个

1.1 安装与配置

安装:

#yum -y install chrony
#systemctl enable chronyd
#systemctl start chronyd
Chrony 的配置文件是/etc/chrony.conf
chronyc配置:
设置开机启动,重启服务
systemctl enable chronyd
systemctl restart chronyd
# 查看时间同步状态
timedatectl status
# 开启网络时间同步
timedatectl set-ntp true

1.2 同步网络时间服务器

授时中心
210.72.145.44 国家授时中心
ntp.aliyun.com 阿里云

1.3chronyc命令

查看ntp_servers
chronyc sources -v

1.4 配置

配置
(时间服务器配置,启用网络上的服务):
vim/etc/chrony.conf

 其余服务器配置:

查看:

 主时间服务器:
其他服务器:

其中,^后的各个符号代表:

*表示chronyd当前同步到的源。
+表示可接受的信号源,与选定的信号源组合在一起。
-表示被合并算法排除的可接受源。
?指示已失去连接性或其数据包未通过所有测试的源。它也显示在启动时,直到从中至少收集了3个样本为止。

此外,还有一条命令可以查看时间是否同步:

timedatectl

 说明:

(1)UTC整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC,
UniversalTimeCoordinated)。

(2)CST中国标准时间(ChinaStandardTime)
GMT+8=UTC+8=CST

(3) System clock synchronized: yes  代表时间已经和服务器进行同步

(4)NTP service: active
NTP是chrony服务的前身,chrony服务基于NTP服务,active代表NTP服务已经打开

(5)RTC in local TZ: no 代表服务是否是国际时间。

 3、远程连接服务器

配置两台主机免密登录:

1、确保ssh服务已经安装:

rpm -qa | grep ssh

2、确保启动

 ps -aux | grep ssh

3、创建密钥对

ssh-keygen -t rsa

依次是:

是否在/root/.ssh/id_rsa创建密钥对:

是否为私钥进行加密认证: 

(由于本人之前已经有过公私钥对,所以他重复出现了)

 4、将公钥发给客户端:

[root@root .ssh]# ssh-copy-id root@192.168.118.130

或者:

[root@root .ssh]# scp /root/.ssh/id_rsa.pub root@192.168.118.130:/root/.ssh/

 客户端:

 服务端:

 5、查看是否成功:

 已成功,不需要密码仅通过密钥便可通信。

3.2、通过windows进行密钥配置(使用Xshell进行连接)

1、

点击Xshell工具中新建用户密钥生成指导:

疯狂下一步,知道最后一步保存文件:

点击保存文件,生成的便是我们的公钥。

 而这个便是我们服务器的私钥:

 2、将公钥通过SFTP或者Xftp的方式传过去。(id_rsa_2048.pub就是我们的公钥)

3、测试: 

Xshell配置:

 登录:


网站公告

今日签到

点亮在社区的每一天
去签到