samba服务器端提供共享服务,同时做为rsync客户端将数据实时备份到rsync服务器端linux
samba服务器端:vim
yum install sambawindows
smb服务,nmb服务负责主机名解析centos
添加用户,须要提早建立linux用户bash
useradd –s /sbin/nologin smb1服务器
smbpasswd –a smb1app
smbpasswd smb1修改口令ide
smbpasswd –x smb1删除用户测试
pdbedit –L [-v] 查看用户列表ui
windows匿名访问
vim /etc/samba/smb.conf
[public]
map to guest = Bad User
共享文件夹配置下添加
public = yes
[pub]
comment = app
path = /data/bz2
valid user = smb1,@admins
writable = yes默认为no
write list = smb2 writable 为no时,只有smb2可写 +或@admins表示组
public = yes
Linux客户端
smbclient //ip/文件夹 –U user%pass
mount –o username=,password= //ip/文件夹 /mnt/smb
自动挂载
vim /etc/fstab
//ip/文件夹 /mnt/smb cifs username=,password= 0 0
或者//ip/文件夹 /mnt/smb cifs credentials=/etc/smbuser.txt 0 0
vim /etc/smbuser.txt
username=
password=
chmod 600 smbuser.txt
rsync服务器端
yum install rsync
vim /etc//etc/rsyncd.conf uid = root gid = root use chroot = no max connections = 0 ignore errors exclude = lost+found/ log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock reverse lookup = no hosts allow = 192.168.35.0/24 [backup] path = /data/share comment = backup read only = no auth users = rsyncuser secrets file = /etc/rsync.pass
echo "rsyncuser:centos" > /etc/rsync.pass
chmod 600 /etc/rsync.pass
rsync --daemon 可加入/etc/rc.d/rc.local实现开机启动
rsync客户端:
yum install inotify-tools rsync
echo "centos" > /etc/rsync.pass
chmod 600 /etc/rsync.pass
将本地share文件夹下文件(最后要加/否则会把文件夹一块儿同步)同步到rsync服务器backup,真实路径/data/share
测试rsync -avz --password-file=/etc/rsync.pass /data/share/ rsyncuser@192.168.35.128::backup
脚本
vim inotify.sh #!/bin/bash SRC='/data/share/' DEST='rsyncuser@192.168.35.128::backup' inotifywait -mrq --timefmt '%Y-%m-%d %H:%M' --format '%T %w %f' -e create,delete,moved_to,close_write,attrib ${SRC}\ |while read DATE TIME DIR FILE;do FILEPATH=${DIR}${FILE} rsync -az --delete --password-file=/etc/rsync.pass $SRC $DEST && echo "At ${TIME} on ${DATE}, file $FILEPATH was backuped up via rsync" >> /var/log/changelist.log done