实现目标:
两台服务器上上部署vsftpd服务,用来提供公司内部软件源的统一规范下载;
其中一台用来上传,另一台用于下载;
上传的服务器需要通过认证才能登陆,下载的服务器是匿名登陆,且只能用于下载;
用户只能登陆到指定的文件夹下进行操作;
用rsync实现两台服务器的定时同步。
遇到问题:
-
没法连接服务器,尝试用secureCRT和putty 都无法登录,最终原因是指定的IP地址没有权限。
-
无法安装vsftpd服务:没有root权限,需要通过源码包进行安装。由于服务器没有联网,需要从本地下载源码包之后再上传到服务器,其中用到了psftp工具:
-
open work@192.168.99.*
-
#input the password
-
put "d:\filename"
使用到的两个命令"open"用于连接远程服务器;"put"用于将本地文件上传到服务器,默认目录是服务器登录名的主目录。
3.实现一台主机普通用户ssh无密码登陆:
-
A主机中,生成密钥:ssh-keygen -t rsa,此时会得到一个.ssh文件夹,里面包含一个公钥id*.pub和一个密钥id*(其中需要输入保存路径和输入密码两步,均直接回车);
-
把生成的公钥复制到主机B中: scp id*.pub 192.168.99.*:/home/user/.ssh/;
-
讲公钥保存为一个新的文件 cat ~/.ssh/id*.pub >> ~/.ssh/authorized_keys;
-
注意authorized_keys的权限,必须限定为600
-
此时,可以从A实现无密码SSH登陆主机B
4. 例行任务 crontab -l 只会列出crontab -e中的编辑的内容,此时的crontab为一个命令,区别直接去编辑文件/etc/crontab ;
5. 使用rsync实现两台服务器的同步
-
rsync -alvr --delete -e ssh /home/work/software/repo/ 192.168.99.*:/home/work/software/repo/
参数-a包括:1)-r 递归的传输文件夹;
2)-l 将符号链接复制为符号链接;
3)-p 在复制传输时,保留原文件的权限;
4)-t 保留修改的时间;
5)-go 保留文件拥有者和所在组;
-v 详尽陈列传输时的信息
--delete 当源文件夹中的文件删除时,目标文件夹内的也会被删除
注意需要备份的源文件夹和目的文件夹,若两个文件夹命名不同,则会将源文件夹整个绝对路径复制到目的文件内,导致烦人的、意料之外的多层文件夹包含。
阅读(562) | 评论(1) | 转发(0) |