使用Rsync命令同步两个Samba4 AD DC之间的SysVol目录
原创使用Rsync命令同步两个Samba4 AD DC之间的SysVol目录
在Samba 4 Active Directory(AD)环境中,SysVol目录是一个重要的目录,它存储着所有域的域策略、组策略对象(GPOs)、证书服务和其他与域相关的文件。确保SysVol目录在域控制器(DC)之间同步是非常重要的,归因于它直接影响到域的稳定性和可靠性。本文将介绍怎样使用Rsync命令来同步两个Samba4 AD DC之间的SysVol目录。
1. 准备工作
在起初之前,请确保以下条件已经满足:
- 您有两个Samba4 AD DC,分别命名为DC1和DC2。
- DC1和DC2都配置为域控制器,并且它们之间存在信赖关系。
- 您有权限访问这两个DC,并且可以执行Rsync命令。
- 确保DC1和DC2之间的网络连接稳定,并且没有防火墙阻止Rsync通信。
2. 安装Rsync
在DC1和DC2上安装Rsync。由于Samba4 AD DC通常是基于Linux的,以下是在大多数Linux发行版上安装Rsync的通用命令:
sudo apt-get install rsync
# 对于Red Hat或CentOS
sudo yum install rsync
3. 配置Rsync
为了使用Rsync同步SysVol目录,您需要配置Rsync以允许非根用户进行同步。以下是在DC1和DC2上配置Rsync的步骤:
# 创建一个用于同步的用户
sudo useradd -m syncuser
# 为syncuser设置密码
sudo passwd syncuser
# 创建Rsync的配置文件
sudo vi /etc/rsyncd.conf
# 在配置文件中添加以下内容
[SysVol]
path = /var/lib/samba/sysvol
use chroot = yes
read only = yes
hosts allow = DC1,DC2
hosts deny = *
auth users = syncuser
secrets file = /etc/rsyncd.secrets
# 创建Rsync的秘密文件
sudo vi /etc/rsyncd.secrets
# 在秘密文件中添加以下内容
syncuser:syncpassword
请将`syncpassword`替换为您为syncuser用户设置的密码。
4. 启动Rsync服务
在DC1和DC2上启动Rsync服务,并确保它在系统启动时自动运行:
sudo systemctl start rsyncd
sudo systemctl enable rsyncd
5. 同步SysVol目录
在DC1上,使用以下命令同步SysVol目录到DC2:
rsync -avz --progress --bwlimit=1000 syncuser@DC1:/var/lib/samba/sysvol/ syncuser@DC2:/var/lib/samba/sysvol/
其中:
- -a:归档模式,保留文件属性。
- -v:详细输出。
- -z:压缩文件。
- --progress:显示传输进度。
- --bwlimit=1000:束缚传输带宽为1000KB/s。
这条命令将从DC1的SysVol目录同步所有内容到DC2的SysVol目录。
6. 验证同步因此
同步完成后,您可以检查DC2的SysVol目录以确保文件已正确同步。您可以使用以下命令比较两个目录的内容:
rsync -avz --progress --bwlimit=1000 --delete syncuser@DC1:/var/lib/samba/sysvol/ syncuser@DC2:/var/lib/samba/sysvol/
这条命令将删除DC2上不存在的文件,并同步剩余的文件。
7. 定期同步
为了确保SysVol目录始终保持同步,您可以将Rsync同步命令添加到cron作业中,以定期执行同步任务。
# 编辑crontab文件
sudo crontab -e
# 添加以下行以每天凌晨2点执行同步任务
0 2 * * * rsync -avz --progress --bwlimit=1000 syncuser@DC1:/var/lib/samba/sysvol/ syncuser@DC2:/var/lib/samba/sysvol/
这样,SysVol目录将在每天凌晨自动同步。