リモートSMBサーバーがインストールされていることを確認するにはどうすればよいですか?

リモートSMBサーバーがインストールされていることを確認するにはどうすればよいですか?

私はまだmount。デフォルトでは、ローカルネットワークにリモートSMBサービスがあり、そのディレクトリからイメージをコピーしてから5分ごとに繰り返そうとします。

私がしなければならないのは、サーバーがインストールされていることを確認するスクリプトを作成し、そうでない場合は何もせずにrsyncを実行することです。

(最初に)crontabを設定してディレクトリ内のすべての既存のファイルを削除してからcrontabを実行できましたが、rsyncSMBコンテンツで何をすべきかわかりません。インストールしてファイルをコピーして削除する必要がありますか、それとも接続を維持する必要がありますか?

ところで私はOSXを使用しています。

答え1

サーバーがほとんどの時間オンになっていて接続されていると予想される場合は、インストールを残しておくことをお勧めします。これにより、接続設定によるオーバーヘッドを一部回避できます。一方、ネットワークの損失や同様の接続の問題が発生すると、アクティブなマウントによって新しく作成されたファイルのデータが失われる可能性があります。これは、ネットワークがなくなってもファイルシステムが完全にマウント解除されないためです。予期しない削除後にこのフラグを追加するのが--checksum賢明かもしれませんrsync。これにより、ファイルの変更時間(家庭--times)だけでなく、ファイルの内容も確認できます。これは強制排除による悪影響を減らします。

何かがインストールされていることを確認するには、のgrep出力を参照してくださいmount

また、切断された接続によって読み取りエラーが発生するか、プログラムが中断されるかを決定し、オプションにsoft注意hardしてください。このオプションを使用すると、接続が失敗してもインストールされているリモコンを見ることができると確信していmount.cifsます。hardについてはsoftまったく確信できません。ファイルシステムがまだマウントされている場合は、接続が復元されたときにそのファイルシステムにアクセスできる可能性が高くなります。ただし、このオプションを使用すると、接続が利用できない場合は応答がhard停止しますrsync

答え2

今は2022年半ばです。受け入れられた回答もう10歳です。私はその答えがまだ有効だと思いますが、mount確かに今日の仕事に最適なツールではありません。私が見つけたこのQ&AOPと同じ問題に対する解決策を探している間は、Mac OSでも実行する必要があります。私もLinuxユーザーなので、人々が興味を持っているように更新を試してみる必要があると思いましたfindmnt

findmntどのくらいの期間使用されたかはわかりませんが、mountスクリプトで使用するよりも利点が多いようです。コマンドfindmntutil-linux次のとおりです。基本的にほとんどの最新システムで。

findmntファイルシステムの検索エンジンと同じです。それはたくさんありますフィルターオプション -grep混雑防止模様これは定義するのが難しい場合があります。一致するものがある場合は、として印刷され、findmnt返さstdoutれます0。一致するものがない場合は、findmnt単に返されます1

Appleがまだそのようなツールを提供していないのは残念です! ICYWWはutil-linuxMacPortsで利用できますが、残念ながらfindmnt

関連情報