每次更新服務器代碼,都要打包、上傳、登錄到服務器修改文件權限、更新 Cache 等等,又慢又容易出錯,所以做成腳本,一次幫我搞定,自己就點上一根煙坐在電腦面前發呆,要么就玩會兒《植物大戰僵尸》啥的,悠閑!
#!/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
[email protected]:/home/public_html/myproject/tmp.tar.bz2
## 執行遠程 ssh 命令
## 這里執行了另外一個腳本 load.sh
ssh
[email protected] "
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: