毎分毎分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インスタンスが重複してリソース使用量が増加する可能性があります。
これは最終的にスクリプトを実行しません。
修正を再現するために必要なアクション:サーバーを再起動するか、ループスクリプトを実行している残りのプロセスをすべて終了します。