rsync上傳檔案bash指令碼

2022-03-22 03:17:57 字數 2652 閱讀 6364

在更新**到伺服器的時候, 通常使用ftp、git之類的更新**。 然而很多時候, 感覺並不好用

ftp上傳,總需要記得自己修改了什麼,ftp工具得先瀏覽某目錄,再上傳; git固然是好, 可是又得在伺服器上裝git配hook事件, 一台還好, 多了搞起麻煩。

所以一般我就配合git用rsync命令更新**,  windows開發環境蛋疼了,git windows版也沒帶rsync命令——當然我的是mac。

往往要將不同目錄上傳到不同伺服器。經常我在每乙個專案下寫乙個rsync.sh指令碼。下面出乙個合併版, 它們屬於 同一 git專案下。

分別上傳one、two、three、four...到不同伺服器

tongbu.sh

#!/bin/bash

## rsync上傳檔案到伺服器指令碼

# 上傳:

'git工作目錄有修改沒有提交 或 不是 up-to-date 狀態, 請先處理git**!!';

"開始以--dry-run方式測試同步操作,不上傳....";

dest='

/web/uploads/

'echo $sudopwd | rsync -rvu -n $public_exclude -e "

ssh -i $ssh_pem

"$source_dir $dest

;;version)

echo

"同步指令碼 1.0.0";

;;*)

echo

'未知目錄,不能同步!';

;;esac

exit $?

./tongbu.sh  one  -dry-run

./tongbu.sh  one-test

初次接觸bash指令碼檔案

在 tmp 目錄下新建乙個檔案sum.sh用於寫簡單的指令碼內容 指令碼檔案用.sh字尾名,雖然linux系統沒有像windows那麼注重字尾名與檔案型別的關聯,但在寫指令碼時固定字尾名有利於以後對指令碼檔案的分辨查詢等等,這是一種好習慣。root server01 tmp vim sum.sh 指...

bash 指令碼筆記

輸入了什麼引數 輸入了多少個引數 1輸入的第乙個引數,依此類推,直到 9 上一次的執行結果 為 1 2 3 一起被引號包住 為 1 2 3 分別被包住 為3 引數數量 d target target 是否是 目錄 f target 是否是檔案 e target 是否存在 目錄和檔案都適用 x tar...

bash指令碼基礎

shell 指令碼 一 如何建立新shell指令碼?1.建立包含bash命令的文字檔案。檔案第一行應為 bin bash 2.使檔案可執行 使用chmod x scripts 3.將檔案放置在使用者的 path的目錄中 bin 用於使用者的私有程式 usr local bin 本地開發 系統上的其他...