目的:实现不同网段的服务器实现文件共享
前提:服务器1可以和共享服务器互通,共享服务器和服务器2互通
拓扑如下:
思路:
一般文件共享有涉及windown系统的用samba,纯类centos系统就用nfs,这里用简化的Samba------Samba中一个组件cifs-utils-6.2-10.e17.x86_64。利用这个软件把共享服务器上的共享文件夹挂到本地的目录上,实现服务器1上数据可以传输到共享服务器上,共享服务器的数据可以被服务器2服务,间接实现服务器1和2的文件共享。
配置如下:
服务器1上配置
1.yum install -y cifs-utils #安装CIFS支持工具
2.mkdir /tmp/共享服务器账号 #创建CIFS挂载目录
3.vim /tmp/sync.sh #创建脚本挂载共享服务器上的共享文件夹到本地,拷贝文件到共享文件夹上
mount -t cifs --verbose -o username="共享服务器账号",password="共享服务器密码" //ip地址(域名)/共享文件夹 /tmp/共享服务器账号
cp /data/* /tmp/共享服务器账号
4.crontab -e #添加到自动运行
0 0 * * * sh /tmp/sync.sh
重启crond
服务器2
1.yum install -y cifs-utils #安装CIFS支持工具
2.mkdir /tmp/共享服务器账号 #创建CIFS挂载目录
3.vim /tmp/sync.sh #建脚本挂载共享服务器上的共享文件夹到本地,拷贝文件到共享文件夹上
mount -t cifs --verbose -o username="共享服务器账号",password="共享服务器密码" //ip地址(域名)/共享文件夹 /tmp/共享服务器账号
mv /tmp/共享服务器账号/* /data #将数据弄到本地/data/
4.crontab -e #添加到自动运行
0 5 * * * sh /tmp/sync.sh
重启crond
报错:
1.mount error(13):permission denied
解决:请仔细检查脚本中mount这一行的格式,账号,密码绝对有问题。
2.mount error(5):input/output error
解决:在脚本中mount这行password=密码后加上vers=2.0,sec=krb5
3.cp: failed to close 。。。。。。input/output error
解决:注意磁盘的大小,脱密文件夹是否做了限制。
4.cp:target 。。。。。。is not a directory
解决:脚本中有语法错误。