linux服务器同步(linux设置ntp自动同步)
linux多服务器之间的目录文件同步
web1:10.80.11.243 web2:10.80.11.244 code:10.80.11.245更新code服务器的代码后,自动同步到web1和web2,删除code服务器文件,web1和web2也删除服务器端的安装(N台WEB都这样配置) 1、首先要求Linux内核在2.6以上,才支持inotify [root@web1 html]# uname-a Linux web1 2.6.18-194.el5#1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux 2、检查是否安装rsync软件 [root@web1 html]# rpm-qa|grep rsync rsync-2.6.8-3.1如果没有的话,通过yum–y install rsync安装 3、新建rsync配置文件,该软件安装默认没有配置文件#vim/etc/rsyncd.conf motd file=/etc/rsyncd.motd uid=root gid=root max connections=36000 use chroot=no log file=/var/log/rsyncd.log log format=%t%a%m%f%b pid file=/var/run/rsyncd.pid lock file=/var/run/rsyncd.lock timeout= 300 [tongbu] path=/var/www/html list=yes comment= this is comment ignore errors= yes read only= no hosts allow= 10.80.11.245 hosts deny=* auth users backup secrets file=/etc/rsyncd.secrets注:tongbu为发布模块,相当于路径的别名 hosts allow是只允许连接的IP secrets file=/etc/rsyncd.secrets这是密码文件,同步的用户为backup,下面创建同步用户#useradd backup#passwd backup#vim/etc/rsyncd.secrets backup:123456格式为用户名:密码#chmod 600/etc/rsyncd.secrets设置只有root用户才能查看这个文件 4、启动服务/usr/bin/rsync--daemon--config=/etc/rsyncd.conf其他的WEB服务器配置和上面是一样的。如果需要开机启动,加入到/etc/rc.local
发布端的配置 1、发布端主要利用开源软件sersync,网站为: –zxvf sersync2.5RC1_32bit_binary.tar.gz#cd GNU-Linux-x86 2、修改配置文件#vim confxml.xml/var/www/html为发布服务器的源码发布目录主要修改红色标记部分,密码文件为/etc/rsync.pas#vim/etc/rsync.pas 123456#解释:123456代表的是Rsync server端的密码,并且要以"#"做结尾。如果有多个密码,增加多行就行。#chmod 600/etc/rsync.pas 3、启动服务#./sersync2-d–r这种方式常驻进程,如果需要开机启动,加入到/etc/rc.local
这样只要修改发布服务器/var/www/html的文件,web服务器就会自动同步。
**********************************************************************************************************
附录二:rsyncd.onf文件注释
全局参数
uid= root//运行RSYNC守护进程的用户
gid= root//运行RSYNC守护进程的组
use chroot= no//不使用chroot
max connections= 4//最大连接数为4
strict modes=yes//是否检查口令文件的权限
port= 873//默认端口873
模块参数
[backup]//这里是认证的模块名,在client端需要指定
path=/home/backup///需要做镜像的目录,不可缺少!
comment= This is a test//这个模块的注释信息
ignore errors//可以忽略一些无关的IO错误
read only= yes//只读
list= no//不允许列文件
auth users= hening//认证的用户名,如果没有这行则表明是匿名,此用户与系统无关
secrets file=/etc/rsync.pas//密码和用户名对比表,密码文件自己生成
hosts allow= 192.168.1.1, 10.10.10.10//允许主机
hosts deny= 0.0.0.0/0//禁止主机
#transfer logging= yes
注释:下面这些绿色文件是安装完RSYNC服务后自动生成的文件
pid file=/var/run/rsyncd.pid//pid文件的存放位置
lock file=/var/run/rsync.lock//锁文件的存放位置
log file=/var/log/rsyncd.log//日志记录文件的存放位置
如何在linux suse中配置NTP服务器
在局域网中,通常只需要一台NTP服务器,其他设备则作为NTP客户端。选择NTP服务器时,应确保该服务器能够连接到互联网,以便与标准的互联网时间服务器进行时间同步。
理想的NTP服务器包括Web服务器和数据库服务器,因为它们需要保持高度的时间一致性。配置NTP服务器的第一步是启动ntpd服务。在SUSE Linux中,可以通过YaST工具来完成这一操作。具体步骤如下:打开YaST,选择“系统”选项卡,然后点击“系统服务(运行级别)”。在该界面中找到“ntp”服务,点击左下方的“启用”按钮,接着点击“确定”,最后再次点击“确定”。当提示框出现时,选择“是”以完成服务的启用。
在完成NTP服务端的配置后,接下来是配置NTP客户端。为了确保客户端能够定期与NTP服务器同步时间,可以使用crontab命令来定时执行同步命令。具体操作为:以root用户身份登录至客户端,然后执行命令:
linux-udly:~# crontab–e
在打开的crontab编辑器中,输入以下内容:
0*/1***/usr/sbin/sntp-P no-r 192.168.150.152
其中,192.168.150.152是NTP服务器的IP地址。这样设置后,客户端将每隔一小时自动与NTP服务器同步时间,确保整个网络中的时间保持一致。
通过以上步骤,您就可以成功地在SUSE Linux系统中配置NTP服务器,并设置定时同步任务,以保证局域网内所有设备的时间准确性。
如何使两台linux服务器时间同步
Linux自带了ntp服务--/etc/init.d/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间。
配置文件就是/etc/ntp.conf。
为了测试,设置让node2-- 192.168.1.102和node1-- 192.168.1.101做时间同步。
第一步,node1做time server,node1本身不和其他机器时间同步,就是取本地时间。
所以,先把node1机器的时间调准了:
[root@node1~]date-s 08/03/2011
[root@node1~]date-s 11:12:00
[root@node1~]clock-w
[root@node1~]hwclock--systohc
后两个命令是把设置的时间写到硬件时间中去(也就是CMOS里面的时间)。
第二步,然后将node1配置成一个time server,修改/etc/ntp.conf,
[root@node1~]vi/etc/ntp.conf
其他的配置不怎么需要改,只需要关注restrict的配置:
1.注释掉原来的restrict default ignore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp server的功能,所以需要注释掉。
2.加入:restrict 192.168.1.0 mask 255.255.255.0--让192.168.1.0/24网段上的机器能和本机做时间同步
3.这样就可以了,记得下面的:
server 127.127.1.0# local clock
fudge 127.127.1.0 stratum 10
这两行需要,这是让本机的ntpd和本地硬件时间同步。
当然,我们也可以添加server xxx.xxx.xxx.xxx,让他和其他的time server时间同步。
4./etc/init.d/ntpd restart
5. chkconfig ntpd on
6.修改iptables配置,将tcp和udp 123端口开放,这是ntp需要的端口,在/etc/services中可以查到这个端口。
第三步,这样node1就成为一台time server了,现在我们配置node2这台机器,也是修改/etc/ntp.conf,
[root@node2~]vi/etc/ntp.conf
1. restrict default ignore这行保留为注释状态,因为sales不需要做time server
2.注释掉server 127.127.1.0, fudge 127.127.1.0 stratum 10这两行,因为这台机器不需要和本地硬件时钟同步了。
3.加入server 192.168.1.101这行,和node1机器同步。
这样就OK了。看看时间,已经和node1同步了。往后默认配置好像是5分钟和time server同步一次。ntpdate命令是显式的和某台机器做时间同步,以前将ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做这个时间
第四步,将ntpdate放到crontab中定期步也是可以的
[root@node2~]#vi ntpupdate.sh
/usr/sbin/ntpdate 192.168.1.101
[root@node2~]#chmod 755 ntpupdate.sh
[root@node2~]#crontab-e
*/1****/root/ntpupdate.sh
[root@node2~]#/etc/init.d/crond restart