いくつかのバックアップを実行するために rsnapshot を一時停止する必要があるため、今回はロックファイルを作成しました。
cat > /var/run/rsnapshot/rsnapshot.pid << EOF
$$
EOF
sleep 120s
しかし、rsnapshot は「古いロックファイルを削除しています」と通知し、バックアップを続行します。
rsnapshot のロックファイルが古くならないようにするにはどうすればよいですか?
男はこう語る。
rsnapshot の開始時にロックファイルが存在する場合、ファイルを読み取ろうとし、読み取れない場合はエラーで停止します。ファイルを読み取ることができる場合は、ファイルに記載されている PID を持つプロセスが存在するかどうかを確認します。その場合、rsnapshot はエラー メッセージを表示して停止します。その PID を持つプロセスが存在しない場合、ロックファイルが古いと見なし、 stop_on_stale_lockfile が 1 に設定されていない限り無視します。1 に設定されている場合は停止します。
つまり、bashscript が実行されている限り、古いものであってはなりません。しかし、このようには機能しません。
編集:
くそー、私は問題を発見しました。ロックファイルがrsnapshotの実行元以外の別のユーザーによって所有されている場合、問題があります...