特定のフォルダにインストールされているデバイスが検出されましたか?

特定のフォルダにインストールされているデバイスが検出されましたか?

バックアップ計画の改善の一環として、回転する外付けハードドライブを追加し、1つは常に安全にオフサイトにあり、もう1つはバックアップデータを受信できるようになりました。もちろん、バックアップが実際に完了したことを確認するために、バックアップはスケジュールに従ってスクリプトで作成され実行されます。

私の計画は、ハードドライブを手動で挿入してマウントし、マウントを解除する必要があるまで(もう一度手動で)そのままにしてから取り外し、次のドライブをインポートしてから、そのドライブを手動でマウントすることです。どちらのドライブも、たとえば/mnt/backupにマウントされます。

問題は次のとおりです。ハードドライブを接続またはマウントするのを忘れた場合は、バックアップスクリプトを実行したくありません。したがって、スクリプトの実行を許可する前に、/mnt/backupにマウントされたデバイスがあるかどうかを検出できる必要があります。私の最初の考えは、「NO_DRIVE_MOUNTED」というファイルを(アンマウントされた)/ mnt / backupディレクトリに置き、それが正しく機能することを確認することでした。いいえバックアップルーチンを実行する前に存在しますが、ハッキングされた感じがします。 (もう一度「BACKUP_DEVICE_READY」というファイルをそれぞれの外部ハードに入れて、逆のファイルがあるかどうかを確認してください。する存在自体がハッキングのように感じられる。 )

デバイスが特定のディレクトリにマウントされているかどうかを検出するより良い方法はありますか?私の経験によれば、Linuxでドライブを接続すると、次の利用可能な/dev/sdXに割り当てられるので、デバイス自体をチェックするのを避けたいと思います。したがって、次回のバックアップドライブは/ dev / sdfになることがあります。バックアップドライブを接続して別のドライブを挿入すると、/dev/sdgになります。これは、/dev/sdfテストが失敗することを意味します。また、ドライブをより簡単かつ透明に交換/アップグレードできるように、デバイス固有の識別(UUIDなど)を避けたいと思います。

これはUbuntu 10.10(またはサーバー全体の再構築中に十分に遅れると11.04かもしれません)にあり、理想的にはバックアップの前にThe command is direct in myを付けることができる簡単な1行テストが必要です。 crontab(しかし、必要に応じてBashスクリプトを恐れません)。

ベストアンサー1

cronなどのバックアップスクリプトを実行できます

fgrep -q /mnt/backup /proc/mounts && backup.sh

ただし、失敗した試みを記録するには、スクリプトにテストを追加することをお勧めします。

おすすめ記事