Cron
在後台獲取所有 Git 儲存庫
我正在考慮設置一個 cronjob 以每隔一段時間獲取我所有的儲存庫,以便在我離線時準備好目前狀態。類似於以下內容(包裝以提高可讀性):
find $HOME -name .git -type d -printf "%h\0" | parallel --gnu -0 --delay 0.2 --jobs 100 --progress \ 'cd {}; git fetch --all --quiet'
我真的不在乎如果 fetch 失敗會發生什麼——下一次它可能會成功。也許可以記錄錯誤輸出。我的問題是:
- 如果後台程序在我送出時提取到 Git 儲存庫怎麼辦?
- 您能否推薦其他開關以
parallel
使其真正具有故障安全性?
兩年來,我一直在後台獲取本地 Git 儲存庫,沒有任何問題跡象。目前,crontab 包含類似
savelog -n -c 400 ~/log/git-fetch.log find ~/git -type d -execdir [ -d '{}/.git' ] \; -print -prune | parallel --gnu --keep-order \ "date; echo {}; cd {}; git fetch --all --verbose" \ >> ~/log/git-fetch.log 2>&1
(但在一行中)。