安装脚本如下
#!/bin/bash
#@rsync安装
dir=`pwd|awk -F '/' '{print $2}'`
IP=`ifconfig eth0|grep "Bcast"|awk '{print $2}'|awk -F ':' '{print $2}'`
#@项目名称 和密码
project="wztx"
password="123456"
[ ! -z `cat /etc/passwd|grep $project` ] || useradd $project -s /sbin/nologin -M
cat > /etc/rsyncd.conf <<EOF
uid = $project
gid = $project
use chroot = no
max connections = 1000
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts deny = 0.0.0.0/32
auth users = $project
secrets file = /etc/rsync.password
EOF
cat > /etc/rsync.password <<EOF
$project:$password
EOF
mkdir -p /rsync_test
touch /rsync_test/test.txt
for pro_dir in `ls |grep -v -E "*.txt|*.sh"`
do
cat >>/etc/rsyncd.conf<<EOF
[$pro_dir]
comment = $pro_dir
path = /$dir/$pro_dir
EOF
done
cat >rsync.pass<<EOF
$password
EOF
chmod 600 rsync.pass
chmod 600 /etc/rsync.password
mv ./rsync.pass /rsync_test
chown -R $project.$project `pwd`
[ -e /var/run/rsyncd.pid ] && rm -rf /var/run/rsyncd.pid
rsync --daemon
echo "请到rsync_test目录下测试"
echo "拉取命令-----------------------"
echo "rsync -avz $project@$IP::test/* --password-file=./rsync.pass ./test.txt"
echo "-------------end---------------"
echo -e "\n"
echo "推送命令-----------------------"
echo "rsync -avz test.txt $project@$IP::test --password-file=./rsync.pass"
echo "-------------end---------------"