RAMドライブを取り付けたら、systemdサービスを開始します。

RAMドライブを取り付けたら、systemdサービスを開始します。

LANのgitディレクトリをDropboxにバックアップできるinotifyベースのサービスがあります。 Dropboxにgitディレクトリを保持しようとしましたが、gitクライアントが複数あるため、エラーファイルが頻繁に発生します。

開発の初期段階では、RAMドライブにログインしようとするのはかなり忙しくて面倒なシステムサービスでした。/tmp他のアプリケーションがそこにスペースに依存しているので、使用したくありません。

fstabからメモリドライブを作成するには、次のものが必要です。

 tmpfs       /mnt/ram tmpfs   nodev,nosuid,noexec,nodiratime,size=1024M   0 0

バックアップサービスを開始する前に、メモリドライブがマウントされていることを確認する必要があります。サービスの遅延開始条件を設定したい。

このサービスを前提として使用する人の提案を見たことがありますが、必要なサービス名を提供する*.mnt文書はありません。/lib/systemd/system

このマウントをどのように識別しますか?別の方法がありますか?

答え1

あなたの状況を理解している限り、あなたは自家製のバックアップサービスをロードするためのシステムサービスファイルを作成しました。バックアップサービスが開始される前に、RAMドライブのマウント(/ etc / fstabのエントリとして定義されている)が利用可能であることを確認する必要があります。

私が直接したわけではなく、マンページで探してみました。だからこれはうまくいかないかもしれません。

によると、man systemd.unit「[UNIT] SECTION OPTIONS」には有望に見えるスイッチがあります。

インストールが必要=

スペースで区切られた絶対パスのリスト。指定されたパスにアクセスするために必要なすべてのインストール単位に対して、Requires =およびAfter =タイプの依存関係を自動的に追加します。

noautoとマークされたマウントポイントはlocal-fs.targetを介して自動的にマウントされませんが、このオプションの目的によっては依然として尊重されます。つまり、デバイスからドラッグします。

テスト目的でnoautoこれをfstab

答え2

少なくともArchでは、結果のsystemdインストールが/etc/fstab展開されます。/run/systemd/generator

たとえば、マイシステムでは、次のリストを使用してマイサービスファイルに追加できます。

[Unit]
Description=backup logging to temp 
After=mnt-ram.mount

ls -la /run/systemd/発電機

:> ls -la
total 32
-rw-r--r--  1 root root 362 Jun 20 17:01 -.mount
drwxr-xr-x  5 root root 260 Jun 20 17:01 .
drwxr-xr-x 22 root root 580 Jun 21 04:40 ..
-rw-r--r--  1 root root 516 Jun 20 17:01 boot.mount
drwxr-xr-x  2 root root 120 Jun 20 17:01 local-fs.target.requires
drwxr-xr-x  2 root root  80 Jun 20 17:01 local-fs.target.wants
-rw-r--r--  1 root root 168 Jun 20 17:01 mnt-3T.automount
-rw-r--r--  1 root root 515 Jun 20 17:01 mnt-3T.mount
-rw-r--r--  1 root root 168 Jun 20 17:01 mnt-4T.automount
-rw-r--r--  1 root root 515 Jun 20 17:01 mnt-4T.mount
-rw-r--r--  1 root root 260 Jun 20 17:01 mnt-ram.mount
-rw-r--r--  1 root root 349 Jun 20 17:01 mnt-sda.mount
drwxr-xr-x  2 root root  80 Jun 20 17:01 remote-fs.target.requires

関連情報