要求,在A机器执行脚本,把A机器的某个目录文件拷贝到B机器。
1、A 机器先安装ftp客户端
$ sudo yum install ftp
2、B机器安装ftp服务端
$ sudo yum -y install vsftpd
2.1、查询B机器是否安装完成,执行后有下面的输出,就是ok的。
$ netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
2.2、ftp的重启命令
$ sudo service vsftpd restart
3、在A机器中编写一个执行脚本
vi upload.sh
#!/bin/bash #upload dir to remote ftp server read -p "Input local dir: " updir #local dir read -p "Input remote dir: " todir #remote dir read -p "Input remote IP: " ip #remote IP read -p "Input ftp username: " user #ftp username read -p "Input password: " password #password sss=`find $updir -type d -printf $todir/'%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'` aaa=`find $updir -type f -printf 'put %p %P \n'` ftp -nv $ip <<EOF user $user $password type binary prompt $sss cd $todir $aaa quit EOF
4、再给这个.sh文件赋予执行权限
chmod +x upload.sh
5、执行sh
./upload.sh
输入五个参数
/home/admin/testA
aa
1xx.xx.xxx.xx
admin
xxx
注意点:都是在admin账户下操作,所以用了sudo借用root权限, root账户可以省去。
目标服务器只能写一层目录aa,不能写多层aa/bb/cc