自動上傳FTP伺服器的shell指令碼

2021-07-05 09:52:31 字數 1341 閱讀 1448

目的:幫別人寫的乙個自動ftp指令碼,涵蓋md5校驗、上傳、備份三個功能

#!/bin/sh

host="b.2222.org"  #上傳的主機

user=gsftp           #使用者

password=slslsl1111   #密碼,這三項均可修改

cd /gsftp

#獲取md5檔案資訊,並判斷是否存在,不存在則退出指令碼

upload1=`cat *.md5`

if [ $? -eq 0 ]; then

echo "md5 file exist,  content:$upload1"

else

echo "md5 file not exist"

exit

fi#獲取zip檔案的md5碼,預備和上傳過來的md5比較;如果zip檔案不存在則退出指令碼

upload2=`/usr/bin/md5sum *.zip | awk ''`

if [ $? -eq 0 ]; then

echo "zip file exist,  md5    :$upload2"

else

echo "zip file not exist"

exit

fi#定義uptoftp函式,負責上傳到伺服器

function uptoftp() ,$ sftp://$ <

#cd $

#put $

put $file1 $file2

byeeof

#備份檔案

if [ $? -eq 0 ]; then

echo "done"

mv * /opt/gsftpbak/  && echo "backup to /opt/gsftpbak"

else

echo " can't upload to $host,please check $host ."fi}

#獲取上傳檔名稱

file1=`/bin/ls -l /gsftp/*.md5| awk ''`

file2=`/bin/ls -l  /gsftp/*.zip| awk ''`

#比較md5,如一致則上傳,不一致也上傳,在日誌增加錯誤資訊

if [ "$upload1" =  "$upload2" ]; then

echo "starting to sftp  to $"

uptoftp

else

echo "md5 error ! please check file. but still upload it."

uptoftp  #如果以後需要修改為md5一致再上傳的話,刪除本行即可

fi

FTP自動上傳

ftp自動上傳 主要難點是shell中使用ftp客戶端將日誌檔案上傳到伺服器中,當然要先搭建乙個ftp伺服器,並且在cron排程時伺服器要開啟啊 要不然上傳哪兒去。shell bin bash ftp n 10.1.13.36 21 cmds user admin admin 後面兩個分別為使用者名...

VUE 打包後自動上傳到伺服器

vue 專案,每次打包後自動上傳工具,scp2 1 安裝 npm install scp2 g 或者cnpm 注意 g是全域性安裝,但我自己使用時,全域性安裝時配置不生效 具體原因不明,也沒詳細測試,如有問題可以試試區域性安裝 2 在build build.js 檔案內引入外掛程式 var clie...

PhpStorm連線伺服器並實現自動上傳功能

連線伺服器 選單欄找到 工具 tools deployment 部署 confinguration 配置 點加號 新增一台伺服器,填寫名稱,選擇型別為www.cppcns.comsftp,點選確定。按下圖提示,填寫伺服器資訊。填寫完伺服器鏈結資訊,點選 test sftp connection 測試...