Linux服务器之间密钥登陆、时间同步、网络以及任务管理
1.Linux 服务器之间秘钥登录
1.1环境准备
准备两台服务器server1和server2
10.1.8.11 server1.wj.cloud server1 10.1.8.12 server2.wj.cloud server2
1.1.1配置 server1
# 设置主机名 [root@server1 ~ 09:23:07]# hostnamectl set-hostname server1.wj.cloud # 修改 IP 地址 [root@server1 ~ 09:23:07]# cd /etc/sysconfig/network-scripts/ [root@server1 network-scripts 09:24:52]# vim ifcfg-ens33 # 修改IP地址为 10.1.8.11 IPADDR=10.1.8.11 # 重新加载配置文件 [root@server1 network-scripts 09:24:52]# nmcli connection reload # 激活配置 [root@server1 network-scripts 09:24:52]# nmcli connection up ens33 # 追加解析记录 [root@server1 ~ 09:40:06]# vim /etc/hosts 追加 10.1.8.11 server1.wj.cloud server1 10.1.8.12 server2.wj.cloud server2 # 测试 [root@server1 ~ 09:43:44]# ping server2 PING server2.wj.cloud (10.1.8.12) 56(84) bytes of data. 64 bytes from server2.wj.cloud (10.1.8.12): icmp_seq=1 ttl=64 time=0.623 ms
1.1.2配置 server2
# 设置主机名 [root@server2 ~ 09:23:07]# hostnamectl set-hostname server2.wj.cloud # 修改 IP 地址 [root@server2 ~ 09:23:07]# cd /etc/sysconfig/network-scripts/ [root@server2 network-scripts 09:24:52]# vim ifcfg-ens33 # 修改IP地址为 10.1.8.12 IPADDR=10.1.8.12 # 重新加载配置文件 [root@server2 network-scripts 09:24:52]# nmcli connection reload # 激活配置 [root@server2 network-scripts 09:24:52]# nmcli connection up ens33 # 追加解析记录 [root@server2 ~ 09:40:06]# vim /etc/hosts 追加 10.1.8.11 server1.wj.cloud server1 10.1.8.12 server2.wj.cloud server2 # 测试 [root@server2 ~ 09:49:49]# ping server1 PING server1.wj.cloud (10.1.8.11) 56(84) bytes of data. 64 bytes from server1.wj.cloud (10.1.8.11): icmp_seq=1 ttl=64 time=0.300 ms
1.2配置过程
1.2.1配置server1秘钥登录server2
配置server1秘钥登录server2
###1.生成密钥对### [root@server1 ~ 10:09:32]# ssh-keygen Generating public/private rsa key pair. # 保存私钥位置 Enter file in which to save the key (/root/.ssh/id_rsa): # 私钥密码为空 Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Yg0o6X8SygzAZCm0XL0Y6Ai6txA31WMIhR6JHu/i/7M root@server1.wj.cloud The key's randomart image is: +---[RSA 2048]----+ |.=+*oo | |O+*ooo+ | |O==o+.o. | |=+++ . o | |.+o.. o S | |o=.+ o . | |.o=.o . | | .. + | | ...Eo | +----[SHA256]-----+ [root@server1 ~ 10:09:40]# ls .ssh/id_rsa* .ssh/id_rsa .ssh/id_rsa.pub # 删除之前生成的文件 [root@server1 ~ 10:11:33]# rm -rf .ssh/id_rsa* # 也可以使用以下命令,非交互方式生成 [root@server1 ~ 10:12:54]# ssh-keygen -N '' -f .ssh/id_rsa Generating public/private rsa key pair. Your identification has been saved in .ssh/id_rsa. Your public key has been saved in .ssh/id_rsa.pub. The key fingerprint is: SHA256:zs6F8VQO9K8sjrS/8wfP7s7O2mt06iixSgoXVwxJz0I root@server1.wj.cloud The key's randomart image is: +---[RSA 2048]----+ | .E.. | | ..* . | | . * o | | o + . | | . S . . . | | = =..... .| | . . * +oo= o | | o * =+. =* | | . *o+=+X@. | +----[SHA256]-----+ # -f 私钥存储位置 # -N 指定秘钥为空 ###2.推送到目标服务器### [root@server1 ~ 10:17:23]# ssh-copy-id wangjie@server2 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys wangjie@server2's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'wangjie@server2'" and check to make sure that only the key(s) you wanted were added. ###3.验证### [root@server1 ~ 10:17:31]# ssh wangjie@server2 id uid=1000(wangjie) gid=1000(wangjie) groups=1000(wangjie),10(wheel) [root@server1 ~ 10:17:50]# ssh wangjie@server2 hostname server2.wj.cloud
2.时间管理
2.1常见管理命令
2.1.1date命令
[root@server1 ~ 16:47:34]# crontab -e crontab: no changes made to crontab [root@server1 ~ 16:47:50]# date Tue Apr 7 17:25:05 CST 2026 You have new mail in /var/spool/mail/root [root@server1 ~ 17:25:05]# echo $LANG en_US.UTF-8 # 设置时间显示格式 [root@server1 ~ 17:25:15]# LANG=zh_CN.UTF-8 [root@server1 ~ 17:25:36]# date 2026年 04月 07日 星期二 17:25:39 CST
2.1.2tzselect 命令
查看时区代码
[root@server1 ~ 10:18:03]# date Tue Apr 7 10:29:17 CST 2026 [root@server1 ~ 10:29:17]# echo $LANG en_US.UTF-8 [root@server1 ~ 10:29:34]# LANG=zh_CN.UTF-8 [root@server1 ~ 10:29:50]# date 2026年 04月 07日 星期二 10:29:54 CST [root@server1 ~ 10:29:54]# tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent or ocean. 1) Africa 2) Americas 3) Antarctica 4) Arctic Ocean 5) Asia 6) Atlantic Ocean 7) Australia 8) Europe 9) Indian Ocean 10) Pacific Ocean 11) none - I want to specify the time zone using the Posix TZ format. #? 5 Please select a country. 1) Afghanistan 18) Israel 35) Palestine 2) Armenia 19) Japan 36) Philippines 3) Azerbaijan 20) Jordan 37) Qatar 4) Bahrain 21) Kazakhstan 38) Russia 5) Bangladesh 22) Korea (North) 39) Saudi Arabia 6) Bhutan 23) Korea (South) 40) Singapore 7) Brunei 24) Kuwait 41) Sri Lanka 8) Cambodia 25) Kyrgyzstan 42) Syria 9) China 26) Laos 43) Taiwan 10) Cyprus 27) Lebanon 44) Tajikistan 11) East Timor 28) Macau 45) Thailand 12) Georgia 29) Malaysia 46) Turkmenistan 13) Hong Kong 30) Mongolia 47) United Arab Emirates 14) India 31) Myanmar (Burma) 48) Uzbekistan 15) Indonesia 32) Nepal 49) Vietnam 16) Iran 33) Oman 50) Yemen 17) Iraq 34) Pakistan #? 9 Please select one of the following time zone regions. 1) Beijing Time 2) Xinjiang Time #? 2 The following information has been given: China Xinjiang Time Therefore TZ='Asia/Urumqi' will be used. Local time is now: Tue Apr 7 08:36:46 +06 2026. Universal Time is now: Tue Apr 7 02:36:46 UTC 2026. Is the above information OK? 1) Yes 2) No #? 1 You can make this change permanent for yourself by appending the line TZ='Asia/Urumqi'; export TZ to the file '.profile' in your home directory; then log out and log in again. Here is that TZ value again, this time on standard output so that you can use the /usr/bin/tzselect command in shell scripts: Asia/Urumqi # 结果显示对应的时区代码是 Asia/Urumqi
2.1.3通过变量设置时区
# 设置时区为东6区 [root@server1 ~ 10:36:54]# TZ='Asia/Urumqi'; export TZ [root@server1 ~ 08:38:55]# date 2026年 04月 07日 星期二 08:39:10 +06 # 设置时区为东8区 [root@server1 ~ 08:39:10]# TZ='Asia/Shanghai'; export TZ [root@server1 ~ 10:40:10]# date 2026年 04月 07日 星期二 10:40:13 CST
2.2自动对时
chrony软件
# 安装软件 [root@server1 ~ 10:42:04]# yum install -y chrony # 设置与哪个服务器对时 [root@server1 ~ 10:50:49]# vim /etc/chrony.conf # 将原先server开头的行注释掉,并新增一行 # 设置与aliyun对时 server ntp.aliyun.com iburst # 启动服务 [root@server1 ~ 11:03:32]# systemctl start chronyd # 验证时间准确性 [root@server1 ~ 11:03:50]# date 2026年 04月 07日 星期二 11:03:54 CST # 查看与哪个服务器对时 [root@server1 ~ 11:03:54]# chronyc sources -v 210 Number of sources = 1 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 203.107.6.88 2 6 17 19 +334us[+2665us] +/- 17ms # 带* 开头的是对时的服务器
3.网络管理
3.1网络查看
# 查看IP地址 [root@server1 ~ 11:04:12]# ip -br addr lo UNKNOWN 127.0.0.1/8 ::1/128 ens33 UP 10.1.8.11/24 fe80::20c:29ff:fe6a:bcc9/64 # -br brief 简洁 # 查看特定网卡IP地址 [root@server1 ~ 11:20:29]# ip -br addr show ens33 ens33 UP 10.1.8.11/24 fe80::20c:29ff:fe6a:bcc9/64 # 查看MAC地址 [root@server1 ~ 11:20:42]# ip -br link lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP> ens33 UP 00:0c:29:6a:bc:c9 <BROADCAST,MULTICAST,UP,LOWER_UP> # 查看网关 [root@server1 ~ 11:20:50]# ip route default via 10.1.8.2 dev ens33 proto static metric 100 10.1.8.0/24 dev ens33 proto kernel scope link src 10.1.8.11 metric 100 # 查看 DNS [root@server1 ~ 11:21:47]# cat /etc/resolv.conf # Generated by NetworkManager search wj.cloud nameserver 223.5.5.5 nameserver 223.6.6.6 [root@server1 ~ 11:22:08]#
3.2网络配置
3.2.1通过配置文件修改
[root@server1 ~ 11:22:08]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=289917c8-9650-4861-b97b-52b3ed8b44a3 DEVICE=ens33 ONBOOT=yes IPADDR=10.1.8.11 PREFIX=24 GATEWAY=10.1.8.2 DNS1=223.5.5.5 DNS2=223.6.6.6 IPV6_PRIVACY=no # 修改完成后需要重新加载和激活配置文件 [root@server1 ~ 11:24:11]# nmcli connection reload [root@server1 ~ 11:24:27]# nmcli connection up ens33
3.2.2通过命令修改
明白两个概念:
device,设备,网卡。
connection,连接,网卡的配置。
device和connection之间关系是,网络需要一个配置,同一时刻只能激活一个配置。
例如在2401教室,激活2401配置,使用的是同一个网卡以太网2。
3.3管理设备
# 查看网络设备清单 [root@server1 ~ 11:24:38]# nmcli device DEVICE TYPE STATE CONNECTION ens33 ethernet 已连接 ens33 lo loopback 未托管 -- # 断开连接,相当于拔掉网线 [root@server1 ~ 11:26:13]# nmcli device disconnect ens33 # 接上连接,相当于接上网线 [root@server1 ~ 11:28:04]# nmcli device connect ens33 Device 'ens33' successfully activated with '289917c8-9650-4861-b97b-52b3ed8b44a3'. # 查看网卡详细配置 [root@server1 ~ 11:28:17]# nmcli device show ens33 GENERAL.DEVICE: ens33 GENERAL.TYPE: ethernet GENERAL.HWADDR: 00:0C:29:6A:BC:C9 GENERAL.MTU: 1500 GENERAL.STATE: 100 (connected) GENERAL.CONNECTION: ens33 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/5 WIRED-PROPERTIES.CARRIER: on IP4.ADDRESS[1]: 10.1.8.11/24 IP4.GATEWAY: 10.1.8.2 IP4.ROUTE[1]: dst = 10.1.8.0/24, nh = 0.0.0.0, mt = 100 IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 10.1.8.2, mt = 100 IP4.DNS[1]: 223.5.5.5 IP4.DNS[2]: 223.6.6.6 IP6.ADDRESS[1]: fe80::20c:29ff:fe6a:bcc9/64 IP6.GATEWAY: -- IP6.ROUTE[1]: dst = ff00::/8, nh = ::, mt = 256, table=255 IP6.ROUTE[2]: dst = fe80::/64, nh = ::, mt = 256
3.4管理链接
实践:
静态配置IP
动态配置IP
给CenOS系统添加一块网卡
[wangjie@centos7 ~ 13:37:13]$ nmcli device DEVICE TYPE STATE CONNECTION ens33 ethernet connected ens33 ens36 ethernet connected Wired connection 1 lo loopback unmanaged -- ### 多了一个 ens36 网卡
[root@centos7 ~ 13:42:15]# nmcli connection add type ethernet ifname ens36 con-name dongtai ipv4.method auto # 参数说明: # type ethernet:连接类型是以太网 # ifname ens36:给网卡ens36配置链接 # con-name dongtai:连接名称是dongtai # ipv4.method auto:获取地址方法是auto Connection 'dongtai' (477a1d61-5205-4337-9307-d30c4a2e45cb) successfully added. # 激活连接 [root@centos7 ~ 13:43:27]# nmcli connection up dongtai Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/15) # 验证网卡配置信息 [root@centos7 ~ 13:44:30]# nmcli device show ens36 GENERAL.DEVICE: ens36 GENERAL.TYPE: ethernet GENERAL.HWADDR: 00:0C:29:A3:89:99 GENERAL.MTU: 1500 GENERAL.STATE: 100 (connected) GENERAL.CONNECTION: dongtai GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/15 WIRED-PROPERTIES.CARRIER: on IP4.ADDRESS[1]: 10.1.1.128/24 IP4.GATEWAY: -- IP4.ROUTE[1]: dst = 10.1.1.0/24, nh = 0.0.0.0, mt = 101 IP4.DNS[1]: 10.1.1.1 IP4.DOMAIN[1]: localdomain IP6.ADDRESS[1]: fe80::8c49:83b9:36f6:80be/64 IP6.GATEWAY: -- IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 101 IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255 # 查看连接清单:多了一个dongtai,而且是激活状态 [root@centos7 ~ 13:44:44]# nmcli connection NAME UUID TYPE DEVICE ens33 289917c8-9650-4861-b97b-52b3ed8b44a3 ethernet ens33 dongtai 477a1d61-5205-4337-9307-d30c4a2e45cb ethernet ens36 Wired connection 1 c8033511-e531-309f-9e5d-fe0d121fecf8 ethernet --
静态配置
[root@centos7 ~ 13:56:05]# nmcli connection add type ethernet ifname ens36 con-name jingtai ipv4.method manual ipv4.addresses 10.1.1.10/24 Connection 'jingtai' (2d61c900-5bcf-43c1-9775-373c65e59e1d) successfully added. [root@centos7 ~ 13:57:03]# nmcli connection up jingtai Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/16) [root@centos7 ~ 13:57:23]# nmcli connection NAME UUID TYPE DEVICE ens33 289917c8-9650-4861-b97b-52b3ed8b44a3 ethernet ens33 jingtai 2d61c900-5bcf-43c1-9775-373c65e59e1d ethernet ens36 dongtai 477a1d61-5205-4337-9307-d30c4a2e45cb ethernet -- Wired connection 1 c8033511-e531-309f-9e5d-fe0d121fecf8 ethernet -- [root@centos7 ~ 13:57:30]# nmcli device show ens36 GENERAL.DEVICE: ens36 GENERAL.TYPE: ethernet GENERAL.HWADDR: 00:0C:29:A3:89:99 GENERAL.MTU: 1500 GENERAL.STATE: 100 (connected) GENERAL.CONNECTION: jingtai GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/16 WIRED-PROPERTIES.CARRIER: on IP4.ADDRESS[1]: 10.1.1.10/24 IP4.GATEWAY: -- IP4.ROUTE[1]: dst = 10.1.1.0/24, nh = 0.0.0.0, mt = 101 IP6.ADDRESS[1]: fe80::256a:9697:c95e:4c2b/64 IP6.GATEWAY: -- IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 101 IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
修改连接配置
[root@centos7 ~ 14:05:38]# nmcli connection modify jingtai ipv4.addresses 10.1.1.100/24 [root@centos7 ~ 14:12:28]# nmcli connection up jingtai Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/17) [root@centos7 ~ 14:12:47]# ip -br a show ens36 ens36 UP 10.1.1.100/24 fe80::256a:9697:c95e:4c2b/64 [root@centos7 ~ 14:13:04]#
删除连接
[root@centos7 ~ 14:13:04]# nmcli connection delete dongtai Connection 'dongtai' (477a1d61-5205-4337-9307-d30c4a2e45cb) successfully deleted. [root@centos7 ~ 14:14:19]# nmcli connection delete jingtai Connection 'jingtai' (2d61c900-5bcf-43c1-9775-373c65e59e1d) successfully deleted. [root@centos7 ~ 14:14:25]# nmcli c NAME UUID TYPE DEVICE ens33 289917c8-9650-4861-b97b-52b3ed8b44a3 ethernet ens33 Wired connection 1 c8033511-e531-309f-9e5d-fe0d121fecf8 ethernet ens36
修改dns
[root@centos7 ~ 14:15:25]# nmcli connection modify ens33 ipv4.dns 223.5.5.5 +ipv4.dns 223.6.6.6 [root@centos7 ~ 14:15:38]# nmcli connection up ens33 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/19) [root@centos7 ~ 14:15:48]# cat /etc/resolv.conf # Generated by NetworkManager search localdomain wangjie.cloud nameserver 223.5.5.5 nameserver 223.6.6.6 nameserver 10.1.1.1
4.系统间复制文档
4.1scp(secure copy)
全量复制:每次传输都是完整的传输,不支持比对传输。
# 系统主机名存储位置 [root@server1 ~ 14:52:02]# cat /etc/hostname server1.wj.cloud # 将文件传输到server2的/root目录 # server2要能够解析成ip [root@server1 ~ 14:52:10]# scp /etc/hostname server2:/root root@server2's password: hostname 100% 17 8.5KB/s 00:00 # 如果之前配置过秘钥登录,则不需要输入密码就可以同步 # 复制目录,需要-r选项 [root@server1 ~ 14:52:30]# scp -r /etc/yum server2:/tmp root@server2's password: contentdir 100% 7 2.1KB/s 00:00 infra 100% 6 3.3KB/s 00:00 fastestmirror.conf 100% 279 48.4KB/s 00:00 langpacks.conf 100% 385 240.0KB/s 00:00 systemd.conf 100% 8 4.6KB/s 00:00 version-groups.conf 100% 444 325.2KB/s 00:00 # 也可以拉取文件 [root@server1 ~ 14:54:01]# scp server2:/etc/hostname /tmp root@server2's password: hostname 100% 17 10.9KB/s 00:00 [root@server1 ~ 14:54:25]# cat /tmp/hostname server2.wj.cloud
4.2rsync
全量和增量同步:每次传输的时候,比对目标位置是否有相同的文件。如果有相同的文件,则不重复传输。
# 准备文件 [root@server1 ~ 15:10:18]# mkdir Pictures [root@server1 ~ 15:11:08]# touch Pictures/snap-{1..6}.jpg # 同步目录 [root@server1 ~ 15:11:26]# rsync -av Pictures server2:/root root@server2's password: Permission denied, please try again. root@server2's password: sending incremental file list Pictures/ Pictures/snap-1.jpg Pictures/snap-2.jpg Pictures/snap-3.jpg Pictures/snap-4.jpg Pictures/snap-5.jpg Pictures/snap-6.jpg sent 408 bytes received 134 bytes 63.76 bytes/sec total size is 0 speedup is 0.00 # 第二次同步:没有变化,所以不用同步 [root@server1 ~ 15:12:04]# rsync -av Pictures server2:/root root@server2's password: sending incremental file list sent 171 bytes received 17 bytes 75.20 bytes/sec total size is 0 speedup is 0.00 # 更新文件时间戳 [root@server1 ~ 15:12:14]# touch Pictures/snap-3.jpg # 只同步变化的文件 [root@server1 ~ 15:12:33]# rsync -av Pictures server2:/root root@server2's password: sending incremental file list Pictures/snap-3.jpg sent 218 bytes received 36 bytes 101.60 bytes/sec total size is 0 speedup is 0.00 # 同步内容发生变化的文件 [root@server1 ~ 15:12:40]# echo hello world >> Pictures/snap-6.jpg [root@server1 ~ 15:13:02]# rsync -av Pictures server2:/root root@server2's password: sending incremental file list Pictures/snap-6.jpg sent 238 bytes received 36 bytes 78.29 bytes/sec total size is 12 speedup is 0.04 # rsync也支持拉取文件。 [root@server1 ~ 15:13:29]# rsync -av server2:/root/Pictures /tmp root@server2's password: receiving incremental file list Pictures/ Pictures/snap-1.jpg Pictures/snap-2.jpg Pictures/snap-3.jpg Pictures/snap-4.jpg Pictures/snap-5.jpg Pictures/snap-6.jpg sent 142 bytes received 436 bytes 231.20 bytes/sec total size is 12 speedup is 0.02 5.周期性计划作业
定个闹钟 7:00 。
计算机每天要完成自己的事情:
巡检系统存储使用情况。
检查异常日志
每天夜里0:00 备份数据
crond服务,提供定制任务功能,定期触发执行相应命令。
示例:每分钟同步一次上一章节创建的Pictures目录到server2.
步骤1:确保crond服务启动
[root@server1 ~ 15:44:56]# systemctl is-active crond active
步骤2:设置定时任务
# 查看当前定时任务 [root@server1 ~ 15:46:20]# crontab -l no crontab for root # 设置vim作为默认编辑器 [root@server1 ~ 15:46:25]# export EDITOR=vim # 编辑定时任务 [root@server1 ~ 15:46:48]# crontab -e # 弹出vim编辑文件 * * * * * rsync -av Pictures server2:/root # 提前配置好秘钥登录 [root@server1 ~ 15:48:11]# crontab -l * * * * * rsync -av Pictures server2:/root # 创建一个文件 [root@server1 ~ 15:51:32]# touch Pictures/snap-7.jpg You have new mail in /var/spool/mail/root # 验证-1:目标服务器查看 [root@server1 ~ 15:55:08]# ssh server2 ls Pictures/snap-7.jpg Pictures/snap-7.jpg # 验证-2: 查看执行日志 [root@server1 ~ 15:59:48]# tail -f /var/log/cron Apr 7 15:51:01 centos7 CROND[12725]: (root) CMD (rsync -av Pictures server2:/root) Apr 7 15:52:01 centos7 CROND[12775]: (root) CMD (rsync -av Pictures server2:/root) Apr 7 15:53:01 centos7 CROND[12781]: (root) CMD (rsync -av Pictures server2:/root) Apr 7 15:54:01 centos7 CROND[12787]: (root) CMD (rsync -av Pictures server2:/root) Apr 7 15:55:01 centos7 CROND[12799]: (root) CMD (rsync -av Pictures server2:/root) Apr 7 15:56:01 centos7 CROND[12842]: (root) CMD (rsync -av Pictures server2:/root) Apr 7 15:57:01 centos7 CROND[12848]: (root) CMD (rsync -av Pictures server2:/root) Apr 7 15:58:01 centos7 CROND[12855]: (root) CMD (rsync -av Pictures server2:/root) Apr 7 15:59:01 centos7 CROND[12861]: (root) CMD (rsync -av Pictures server2:/root) Apr 7 16:00:01 centos7 CROND[12867]: (root) CMD (rsync -av Pictures server2:/root) Apr 7 16:01:01 centos7 CROND[12875]: (root) CMD (rsync -av Pictures server2:/root) Apr 7 16:01:01 centos7 CROND[12876]: (root) CMD (run-parts /etc/cron.hourly) Apr 7 16:01:01 centos7 run-parts(/etc/cron.hourly)[12876]: starting 0anacron Apr 7 16:01:01 centos7 run-parts(/etc/cron.hourly)[12886]: finished 0anacron # 验证-3 [root@server1 ~ 16:02:24]# mail Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/spool/mail/root": 14 messages 14 new >N 1 (Cron Daemon) Tue Apr 7 15:49 29/1112 "Cron <root@server1> rsync -av Pictures server2:/root" N 2 (Cron Daemon) Tue Apr 7 15:50 29/1112 "Cron <root@server1> rsync -av Pictures server2:/root" N 3 (Cron Daemon) Tue Apr 7 15:51 29/1112 "Cron <root@server1> rsync -av Pictures server2:/root" N 4 (Cron Daemon) Tue Apr 7 15:52 28/943 "Cron <root@server1> rsync -av Pictures server2:/root" N 5 (Cron Daemon) Tue Apr 7 15:53 28/943 "Cron <root@server1> rsync -av Pictures server2:/root" N 6 (Cron Daemon) Tue Apr 7 15:54 28/943 "Cron <root@server1> rsync -av Pictures server2:/root" N 7 (Cron Daemon) Tue Apr 7 15:55 30/973 "Cron <root@server1> rsync -av Pictures server2:/root" N 8 (Cron Daemon) Tue Apr 7 15:56 28/943 "Cron <root@server1> rsync -av Pictures server2:/root" N 9 (Cron Daemon) Tue Apr 7 15:57 28/943 "Cron <root@server1> rsync -av Pictures server2:/root" N 10 (Cron Daemon) Tue Apr 7 15:58 28/943 "Cron <root@server1> rsync -av Pictures server2:/root" N 11 (Cron Daemon) Tue Apr 7 15:59 28/943 "Cron <root@server1> rsync -av Pictures server2:/root" N 12 (Cron Daemon) Tue Apr 7 16:00 28/943 "Cron <root@server1> rsync -av Pictures server2:/root" N 13 (Cron Daemon) Tue Apr 7 16:01 28/943 "Cron <root@server1> rsync -av Pictures server2:/root" N 14 (Cron Daemon) Tue Apr 7 16:02 28/943 "Cron <root@server1> rsync -av Pictures server2:/root" & 9 Message 9: From root@server1.wj.cloud Tue Apr 7 15:57:02 2026 Return-Path: <root@server1.wj.cloud> X-Original-To: root Delivered-To: root@server1.wj.cloud From: "(Cron Daemon)" <root@server1.wj.cloud> To: root@server1.wj.cloud Subject: Cron <root@server1> rsync -av Pictures server2:/root Content-Type: text/plain; charset=UTF-8 Auto-Submitted: auto-generated Precedence: bulk X-Cron-Env: <XDG_SESSION_ID=18> X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/0> X-Cron-Env: <LANG=en_US.UTF-8> X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/root> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=root> X-Cron-Env: <USER=root> Date: Tue, 7 Apr 2026 15:57:02 +0800 (CST) Status: R sending incremental file list sent 204 bytes received 17 bytes 147.33 bytes/sec total size is 12 speedup is 0.05 # 默认位置 [root@server1 ~ 15:49:25]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
补充语法说明
* * * * *
分 时 日 月 周
例子:
每分钟 * * * * *
每小时整点 0 * * * *
每天凌晨2点 0 2 * * *
每周日凌晨3点 0 3 * * 0
每隔5分钟 */5 * * * *
