シェルスクリプトからのバックグラウンドrsyncとpid

ジャスク

バックアップを行うシェルスクリプトがあります。このスクリプトをcronに設定しましたが、問題はバックアップが重いため、最初のrsyncが終了する前に2番目のrsyncを実行できることです。スクリプトでrsyncを起動し、PIDを取得して、プロセスが存在するかどうか(このファイルが存在するかどうか)をスクリプトがチェックするファイルを作成することを考えました。rsyncをバックグラウンドに置くとPIDを取得しますが、rsyncがいつ終了するかを知る方法がわかりませんが、rsync(バックグラウンドなし)を設定すると、プロセスが終了する前にPIDを取得できないため、ファイル聖霊降臨祭のPID。

「rsyncを制御する」ための最良の方法が何であるか、そしてそれがいつ終了するかはわかりません。

私のスクリプト

#!/bin/bash
pidfile="/home/${USER}/.rsync_repository"

if [ -f $pidfile ];
then
        echo "PID file exists " $(date +"%Y-%m-%d %H:%M:%S")
else
        rsync -zrt --delete-before /repository/ /mnt/backup/repositorio/ < /dev/null &
        echo $$ > $pidfile
        # If I uncomment this 'rm' and rsync is running in background, the file is deleted so I can't "control" when rsync finish
        # rm $pidfile 
fi

誰か助けてもらえますか?

前もって感謝します !!:)

jgshawkey
# check to make sure script isn't still running
# if it's still running then exit this script

sScriptName="$(basename $0)"

if [ $(pidof -x ${sScriptName}| wc -w) -gt 2 ]; then 
    exit
fi
  • pidofはプロセスのpidを見つけます
  • -xは、スクリプトも検索するように指示します
  • $ {sScriptName}はスクリプトの名前です...これをハードコーディングできます
  • wc -wは、単語数を単語ごとに返します
  • -gt 2実行中のインスタンスは1つだけです(インスタンスとpidofチェック用の1)
  • 複数のインスタンスが実行されている場合は、スクリプトを終了します

これがあなたのために働くかどうか私に知らせてください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SSH経由でバックグラウンドスクリプトからリモート「シェル」と対話する

分類Dev

シェルスクリプト:バックグラウンドプロセスへの入力の送信

分類Dev

シェル スクリプトでバックグラウンド ジョブの数を制御する方法

分類Dev

iOS-バックグラウンドからのリモートプッシュ通知の処理と 前景

分類Dev

バックグラウンドシェル関数による子プロセスのリストの取得

分類Dev

バックグラウンドアプリからのSystem.Drawing.Bitmap(Xamarin)としてのiOSスクリーンショット

分類Dev

シェルのCtrl-CからSIGINTを受信するバックグラウンドプロセス(postgresql)

分類Dev

シェルスクリプトの一部としてバックグラウンドでトンネルを実行する方法

分類Dev

別のシェルスクリプト内のバックグラウンドでのインタラクティブシェル

分類Dev

バックグラウンドプロセスとしてのWindowsからのSSHトンネル?

分類Dev

シェルスクリプトでバックグラウンドプロセスをフォアグラウンドに戻すクリーンな方法

分類Dev

サブシェルバックグラウンドプロセスpidを変数に割り当てます

分類Dev

iOS:バックグラウンドプロセスとシングルトン

分類Dev

別のバックグラウンドプロセスのバックグラウンドスクリプトからのpidof

分類Dev

golang execバックグラウンドプロセスとそのpidの取得

分類Dev

バックグラウンドプッシュからのバックグラウンドネットワークコール

分類Dev

バックグラウンドでシェルスクリプトを実行する

分類Dev

バックグラウンドでシェルスクリプトを実行する方法は?

分類Dev

sshはスクリプトをバックグラウンドで実行し、そのpidを取得します

分類Dev

`sudosu`に渡されたヒアドキュメントで実行されているサブシェルで開始されたバックグラウンドプロセスからPIDをキャプチャできません

分類Dev

バックグラウンドでコマンドを実行すると、シェルスクリプトでファイルに書き込めません

分類Dev

バックグラウンドでコマンドを実行すると、シェルスクリプトでファイルに書き込めません

分類Dev

プロセスのPIDをバックグラウンドで開始する方法をフィッシュシェル

分類Dev

バックグラウンドスクリプトからコンテンツスクリプトにオブジェクトを送信する

分類Dev

バックグラウンドスクリプトからコンテンツスクリプトにオブジェクトを送信する

分類Dev

バックグラウンドスレッドでプールリリースオブジェクトを自動解放するのはいつですか?

分類Dev

バックグラウンドスレッドでプールリリースオブジェクトを自動解放するのはいつですか?

分類Dev

バックグラウンドでの Powershell スクリプト

分類Dev

バックグラウンドページとバックグラウンドスクリプトの違いは何ですか?

Related 関連記事

  1. 1

    SSH経由でバックグラウンドスクリプトからリモート「シェル」と対話する

  2. 2

    シェルスクリプト:バックグラウンドプロセスへの入力の送信

  3. 3

    シェル スクリプトでバックグラウンド ジョブの数を制御する方法

  4. 4

    iOS-バックグラウンドからのリモートプッシュ通知の処理と 前景

  5. 5

    バックグラウンドシェル関数による子プロセスのリストの取得

  6. 6

    バックグラウンドアプリからのSystem.Drawing.Bitmap(Xamarin)としてのiOSスクリーンショット

  7. 7

    シェルのCtrl-CからSIGINTを受信するバックグラウンドプロセス(postgresql)

  8. 8

    シェルスクリプトの一部としてバックグラウンドでトンネルを実行する方法

  9. 9

    別のシェルスクリプト内のバックグラウンドでのインタラクティブシェル

  10. 10

    バックグラウンドプロセスとしてのWindowsからのSSHトンネル?

  11. 11

    シェルスクリプトでバックグラウンドプロセスをフォアグラウンドに戻すクリーンな方法

  12. 12

    サブシェルバックグラウンドプロセスpidを変数に割り当てます

  13. 13

    iOS:バックグラウンドプロセスとシングルトン

  14. 14

    別のバックグラウンドプロセスのバックグラウンドスクリプトからのpidof

  15. 15

    golang execバックグラウンドプロセスとそのpidの取得

  16. 16

    バックグラウンドプッシュからのバックグラウンドネットワークコール

  17. 17

    バックグラウンドでシェルスクリプトを実行する

  18. 18

    バックグラウンドでシェルスクリプトを実行する方法は?

  19. 19

    sshはスクリプトをバックグラウンドで実行し、そのpidを取得します

  20. 20

    `sudosu`に渡されたヒアドキュメントで実行されているサブシェルで開始されたバックグラウンドプロセスからPIDをキャプチャできません

  21. 21

    バックグラウンドでコマンドを実行すると、シェルスクリプトでファイルに書き込めません

  22. 22

    バックグラウンドでコマンドを実行すると、シェルスクリプトでファイルに書き込めません

  23. 23

    プロセスのPIDをバックグラウンドで開始する方法をフィッシュシェル

  24. 24

    バックグラウンドスクリプトからコンテンツスクリプトにオブジェクトを送信する

  25. 25

    バックグラウンドスクリプトからコンテンツスクリプトにオブジェクトを送信する

  26. 26

    バックグラウンドスレッドでプールリリースオブジェクトを自動解放するのはいつですか?

  27. 27

    バックグラウンドスレッドでプールリリースオブジェクトを自動解放するのはいつですか?

  28. 28

    バックグラウンドでの Powershell スクリプト

  29. 29

    バックグラウンドページとバックグラウンドスクリプトの違いは何ですか?

ホットタグ

アーカイブ