私はomv5、Dockstarter、dockerなどを使ってダウンロードするパイを管理する賢い方法を探しています。
私のpiは常にオンになっているかもしれませんが、より大きなサーバーでは、piがwolを使用してスリープモードを解除し、ダウンロードしたファイルを送信できるようにスケジュールを設定したいと思います(フォルダにアップデートがある場合)。
しかし、問題はシンボリックリンクを使用すると(巨大なデータベースを作成せずに)別のサーバー上の物理ファイルでSonar / radarrリポジトリを仮想的に埋めることができると思いました。しかし、シンボリックリンクはターゲットから頻繁に切断され、それでもターゲットファイルのように動作できますか?
これを達成する方法について提案がありますか?
答え1
シンボリックリンクは、単に指すパスを含むテキストファイルと考えることができます。これを行うためにターゲットファイルが存在する必要はありません。
実際、一部のプログラムはシンボリックリンクを使用して情報をエンコードしますが、シンボリックリンクに保存されているパスは決してファイルとして解決されません。 HTTPリダイレクトにシンボリックリンクを使用するGattleおよびFnord Webサーバーがその例です。
mkdir -p /var/www/mysite.example.com:80
cd /var/www/mysite.example.com:80
ln -s 'http://www.google.com:80/search?q=site:mysite.example.com' search.html
Fnordが次のリクエストに応答するという意味http://mysite.example.com:80/search.htmlHTTP経由でGoogleにリダイレクトされます。
したがって、シンボリックリンクのターゲットが消えることは完全に可能です。
しかし、「まだオブジェクトファイルのように実行されますか?」が何を意味するのかは不明です。シンボリックリンクにはパス名のみが含まれており、シンボリックリンクを開くと、オペレーティングシステムが実際にシンボリックリンク内に保存されているパスを開くだけです。したがって、ある意味ではそうです。シンボリックリンクはまだオブジェクトファイルのように動作します。シンボリックリンクを使用せずに同じパスを開こうとするとエラーが発生しますが、シンボリックリンクを使用するとエラーが発生します。
「動的接続」、つまり一部の変数または条件(Windows NTのNTFS「再解析ポイント」に似ています)に基づいて動的に異なるパスを指すシンボリックリンクの可能性があるかどうかを尋ねる場合する一部のUnicesに存在します(例:トンボBSD変形シンボリックリンク)、POSIXやLinuxには存在しません。
答え2
非常に簡単な方法はsshfs
-mountsを使用することです。これは、sshを介してサーバーのディレクトリをpiのローカルディレクトリにマウントすることです。その後、そこにシンボリックリンクを指定できます。
mkdir /home/pi-user/serverlib
sshfs user@server:/path/to/lib /home/pi-user/serverlib
ln -s /home/pi-user/serverlib/programm_library.so.0.2
マウントが存在するかどうかを確認するには、次のようなさまざまな方法があります。
ダミーファイルを
i_am_unmounted
ディレクトリに配置します。ネットワークの場所がマウントされると、[ -e /home/pi-user/serverlib/i_am_unmounted ]
スクリプトのテストは失敗します。 (使用-o nonempty
)sshfs
。の出力からリモートディレクトリを検索します
mount
。systemd
WOL、インストール、インストールが成功したかどうか、ファイル更新の実行など、すべてのサービスをより詳細にします。