Shell中使用scp命令實(shí)現(xiàn)文件上傳代碼
自從法現(xiàn) SSH 可以執(zhí)行遠(yuǎn)端命令后,ftp 軟件也漸漸很少用了。
每次更新服務(wù)器代碼,都要打包、上傳、登錄到服務(wù)器修改文件權(quán)限、更新 Cache 等等,又慢又容易出錯(cuò),所以做成腳本,一次幫我搞定,自己就點(diǎn)上一根煙坐在電腦面前發(fā)呆,要么就玩會兒《植物大戰(zhàn)僵尸》啥的,悠閑!
PS: Ant 以及 Phing 用戶,你們可以無視了… 我只是喜歡玩 Shell 而已。
#!/bin/sh
HOME='/cygdrive/d/public_html/myproject'
## 先打包本地代碼
## 排除如下文件: *.svn, *.bat, upload.sh, cache
## 如果需要 exclude 的文件很多,可以使用參數(shù) --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
## 執(zhí)行遠(yuǎn)程 ssh 命令
## 這里執(zhí)行了另外一個(gè)腳本 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 我配置成了自動(dòng)登錄,可以參考這里。
相關(guān)文章
Linux命令學(xué)習(xí)之原來最簡單的ls命令這么復(fù)雜
ls命令應(yīng)該是我們最常用的命令之一了,但是我們可能容易忽略那些看起來最簡單的東西。本文就來和大家詳細(xì)聊聊ls命令的使用,需要的可以了解一下2022-10-10shell使用mysqld_multi自動(dòng)做多實(shí)例從庫腳本
這篇文章主要介紹了shell使用mysqld_multi自動(dòng)做多實(shí)例從庫腳本,需要的朋友可以參考下2014-03-03centos/rhel下實(shí)現(xiàn)nginx自啟動(dòng)腳本實(shí)例
這篇文章主要介紹了centos/rhel下實(shí)現(xiàn)nginx自啟動(dòng)腳本,需要的朋友可以參考下2014-07-07