上传文件大多数用的是ftp,但是用ftp有一点不好,就是本地和远程的目录要对应,这样就要在多个目录下去切换,这样挺麻烦的,如果不注意的话,很有可能传错。所以想了个办法利用scp来批量上传文件或者目录。
如果要用scp来上传文件,第一步就要去掉scp上传时要输入密码。要不然就没办法批量上传了。具体请参考:ssh 不用输入密码
root@ubuntu:/home/zhangy#?cat?test /home/zhangy/test/aaa /home/zhangy/test/nginx.conf /home/zhangy/test/test.sql /home/zhangy/test/pa.txt /home/zhangy/test/password
上面就要上传的文件。
vim file_upload.sh[neiqian]
上传成功后,返回的是一个空行,上传不成功,什么都不返回 [erji]3、上传的格式[erji] test是上传列表文件,[neiqian]192.168.1.13#!/bin/sh
DATE=`date?+%Y_%m_%d_%H`
if?[?$1?]
then
??for?file?in?$(sed?'/^$/d'?$1)?????//去掉空行
??do
????if?[?-f?$file?]?????????????????//普通文件
????then
??????res=`scp?$file?$2:$file`??????//上传文件
??????if?[?-z?$res?]????????????????//上传成功
??????then
????????echo?$file?>>?${DATE}_upload.log???//上传成功的日志
??????fi
????elif?[?-d?$file?]??????????????//目录
????then
??????res=`scp?-r?$file?$2:$file`
??????if?[?-z?$res?]
??????then
????????echo?$file?>>?${DATE}_upload.log
??????fi
????fi
??done
else
??echo?"no?file"?>>?${DATE}_error.log
fi
./file_upload.sh?test?192.168.1.13