x分ごとにgitをサービスにプッシュするスクリプトを実行しようとしていますが、gitは100%CPUと多くのRAMを使用します。

x分ごとにgitをサービスにプッシュするスクリプトを実行しようとしていますが、gitは100%CPUと多くのRAMを使用します。

毎分毎分gitをサービスにプッシュするスクリプトを実行しようとしていますが、gitは何もしないように見えますが、100%CPUと多くのRAMを使用します。 (8分過ぎて確認してみましたがずっと出ますね)

スクリプトを手動で実行すると正しく実行され、数秒しかかかりません。

ToGit.shバックアップ:

#!/bin/bash
cd /home/pi/<Projectfolder>
cat /root/.ssh/id_rsa.pub
while true
do
        git add *
        git commit -m "auto backup"
        echo "------------Starting to push to Github------------"
        git push [email protected]:JustLokust/<Projectname> master
        echo "------------Finished pushing to Github------------"
        sleep 300
done

提供する:

[Unit]
Description=<Service Name>

[Service]
WorkingDirectory=/home/pi/<Projectfolder>
ExecStart=/home/pi/<Projectfolder>/backupToGit.sh

[Install]
WantedBy=multi-user.target

ベストアンサー1

@OlivierDulacの助けを借りて解決策を見つけたようです。

サービスは無限ループで実行されるスクリプトを開始するように設定されていますが、スクリプトを停止しません。これにより、サービスが開始/再起動されるたびにスクリプトが1回実行され、gitインスタンスが重複してリソース使用量が増加する可能性があります。

これは最終的にスクリプトを実行しません。

修正を再現するために必要なアクション:サーバーを再起動するか、ループスクリプトを実行している残りのプロセスをすべて終了します。

おすすめ記事