Shell中使用scp命令實現檔案上傳代碼_linux shell

來源:互聯網
上載者:User

自從法現 SSH 可以執行遠端命令後,ftp 軟體也漸漸很少用了。

每次補救伺服器代碼,都要打包、上傳、登入到伺服器修改檔案許可權、更新 Cache 等等,又慢又容易出錯,所以做成指令碼,一次幫我搞定,自己就點上一根煙坐在電腦面前發獃,要麼就玩會兒《植物大戰殭屍》啥的,悠閑!

PS: Ant 以及 Phing 使用者,你們可以無視了… 我只是喜歡玩 Shell 而已。

複製代碼 代碼如下:

#!/bin/sh
 
HOME='/cygdrive/d/public_html/myproject'
 
## 先打包本地代碼
## 排除如下檔案: *.svn, *.bat, upload.sh, cache
## 如果需要 exclude 的檔案很多,可以使用參數 --exclude-from=FILE
## 將檔案一行行寫入 FILE 中
cd $HOME
tar jcf tmp.tar.bz2 *   \
    --exclude=*.bat     \
    --exclude=*.bz2     \
    --exclude=*.gz      \
    --exclude=.svn      \
    --exclude=cache     \
    --exclude=upload.sh \
 
## 通過 SCP 上傳檔案
scp tmp.tar.bz2 user@your.host.com:/home/public_html/myproject/tmp.tar.bz2
 
## 執行遠程 ssh 命令
## 這裡執行了另外一個指令碼 load.sh
ssh user@your.host.com
 "
 cd /home/public_html/myproject
 tar jxf tmp.tar.bz2
 chown -R web:web *
 chmod -R 755 *
 sh load.sh
 rm -f tmp.tar.bz2
 "
 
## 刪除本地檔案
rm -f tmp.tar.bz2
echo "Everything is done."
 
# 星期一 一月 11, 2010 by Verdana
# vim: set expandtab tabstop=4 shiftwidth=4:

SSH 我配置成了自動登入,可以參考這裡。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.