阅读量:1
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配置:
登录: