<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          國內 Linux 集群服務器網絡差無法 Git Clone 大項目的解決辦法

          2023-12-27    前端達人

          GitHub 是一個軟件源代碼托管服務平臺,Linux 上使用的大部分工具都可以在上面獲得。

          但是由于 GitHub 的服務器在國外,國內訪問經常出現網絡問題導致訪問失敗,尤其是使用 git clone 對 repo 進行克隆的時候,會經常出現因網絡問題而克隆失敗。

          Linux 集群服務器的用戶,在比較難實現科學上網的前提下,對大型 repo 克隆的任務顯得尤為困難,而且想使用 gradle build 的話,git clone 似乎是唯一選擇。

          既然 git clone 一兩次不成功,那我就想辦法讓他 clone 到成功為止,于是我就寫了一個循環腳本,將它投遞到計算節點上 24h 運行,直到它克隆成功才結束任務。

          以克隆 GATK (repo 大小約 300mb)為例,腳本如下:

          #!/bin/bash
          #SBATCH --job-name=GitClone        #任務名稱
          #SBATCH --nodelist=litchi-0-1    #計算節點名稱
          #SBATCH --partition=WHEEL        #使用 WHEEL 用戶組
          #SBATCH --nodes=1                #使用計算節點數量
          #SBATCH --ntasks=1                #使用 1 個線程
          #SBATCH --mail-type=end            #任務結束時發送郵件
          #SBATCH --mail-user=***@qq.com  #郵箱地址
          #SBATCH --output=/home/$USER/Slurm_JobLogs/JobLog_%j_%x.log        #標準輸出保存路徑
          #SBATCH --error=/home/$USER/Slurm_JobLogs/JobLog_%j_%x.err        #標準錯誤保存路徑
          #------------------------------------------------------------
          # PRINT JOB'S INFORMATION
            source /home/$USER/.bashrc
            threads=$SLURM_NTASKS
            echo "## Job:[$SLURM_JOB_NAME]"
            echo "## Node:[$SLURM_NODELIST]"
            echo "## CPUs:[$SLURM_NTASKS]"
            echo "## Mem:[$SLURM_MEM_PER_NODE]"
            echo `date`
            echo -e $(printf -- "-%.0s" {1..100})"\n" #cut-off-line
          #------------------------------------------------------------
          # PATH
            repo_url="https://github.com/broadinstitute/gatk.git"
            repo_name="gatk"
          #------------------------------------------------------------
          # SHELL
            cd /home/$USER/Accessories/Softwares
            while true; do                #循環執行任務
              git clone $repo_url            #執行 git clone
              if [ $? -eq 0 ]; then        #如果以上命令的退出碼等于 0 (任務成功)
                echo "Git clone successful!"
                break                        #則退出循環
              else                        #如果命令的退出碼不等于 0 (任務失敗)
                echo "Git clone failed:( Retrying..."
                rm -rf ./${repo_name}        #則刪除這個repo
                sleep 1                    #睡眠 1 秒緩沖一下繼續循環
              fi
            done
          #------------------------------------------------------------
          # JOB ENDS
            echo -e $(printf -- "-%.0s" {1..100}) #cut-off-line
            echo "## Runtime:[`sacct -j $SLURM_JOB_ID --format=Elapsed --noheader | awk '{print $1}' | sed -n '2p'`]"
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34
          • 35
          • 36
          • 37
          • 38
          • 39
          • 40
          • 41
          • 42

          這個腳本的路徑為 ~/Scripts/GitClone_GATK.sh

          將任務投遞到計算節點運行:

          sbatch ~/Scripts/GitClone_GATK.sh
          
          • 1

          最終,這個任務運行了 40 次,歷時 13h,終于是克隆成功了!

          藍藍設計(www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的大數據可視化界面設計B端界面設計、桌面端界面設計APP界面設計、圖標定制、用戶體驗設計交互設計、UI咨詢高端網站設計、平面設計,以及相關的軟件開發服務,咨詢電話:01063334945。

          關鍵詞:UI咨詢、UI設計服務公司軟件界面設計公司、界面設計公司、UI設計公司UI交互設計公司、數據可視化設計公司用戶體驗公司、高端網站設計公司

          銀行金融軟件UI界面設計能源及監控軟件UI界面設計、氣象行業UI界面設計、軌道交通界面設計、地理信息系統GIS UI界面設計航天軍工軟件UI界面設計、醫療行業軟件UI界面設計、教育行業軟件UI界面設計企業信息化UI界面設計、軟件qt開發、軟件wpf開發、軟件vue開發

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合