300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > shell脚本通过scp命令远程拷贝文件

shell脚本通过scp命令远程拷贝文件

时间:2022-08-01 13:08:05

相关推荐

shell脚本通过scp命令远程拷贝文件

Linux下通过shell脚本实现自动在两台机器间拷贝文件

环境配置

A地址:192.168.1.100B地址:192.168.1.200

举例

A目录结构home|---bin| |---server| |---clent| |---tools|---lib| |---libmyepool.so| |---libmyepool.a| |---libcmdline.so| |---libcmdline.a|---doc |---README|---API.txt

命令行模式

1、在A机器下拷贝home目录下的bin、lib和doc文件夹到B机器的home目录cd /homescp -r bin lib doc root@192.168.1.200:/home2、在A机器下拷贝/home/lib目录下的所有.so文件到B机器的/home/lib目录scp -r /home/lib/*.so root@192.168.1.200:/home/lib3、在B机器下拷贝A的home目录下的bin文件夹到B机器的home目录scp -r root@192.168.1.200:/home/bin /home4、在B机器下拷贝A的/home/lib目录下的所有.so文件到B机器的/home/lib目录scp -r root@192.168.1.200:/home/*.so /home/lib

shell脚本模式

1、在A机器下拷贝home目录下的bin、lib和doc文件夹到B机器的home目录

#!/bin/bash#注意home/bin不能写成home/bin/,否则shell会报告找不到文件错误TAGIT+="/home/bin /home/lib /home/doc"expect -c"spawn scp -r ${TAGIT} root@192.168.1.200:/home/.expect{\"assword\" {set timeout 3600; send \"root\r\";}\"yes/no\" {set \"yes\r\"; exp_continue;}}expect eof"

2、在A机器下拷贝/home/lib目录下的所有.so文件到B机器的/home/lib目录

#!/bin/bash#注意在shell脚本模式下不能写成下面的形式,否则shell会报告找不到文件错误#TAGIT+="/home/lib/*.so"#应该写成TAGIT+="/home/lib/libmyepool.so /home/lib/libcmdline.so"#通过使用awk工具自动过滤出.so的文件,如下:TAGIT+=""sofiles=`ls -l /home/lib/*.so | awk '{print $NF}'`for sof in ${sofiles}doTAGIT+="${sof} "doneexpect -c"spawn scp -r ${TAGIT} root@192.168.1.200:/home/lib/.expect{\"assword\" {set timeout 3600; send \"root\r\";}\"yes/no\" {set \"yes\r\"; exp_continue;}}expect eof"

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。