/etc/systemd/system/writehello.service

/etc/systemd/system/writehello.service

systemdを使用してプロセスを管理し、次の規則に従うすべてのオペレーティングシステムの場合Linux Foundationのファイルシステム階層標準

私は最近、systemdユニットファイルに加えてどこに行くべきか尋ねました。 Arch Linuxでは、システムデバイスファイルをどこに配置する必要がありますか?

Pythonスクリプト5分ごとに(Pythonスクリプトを呼び出すシステム単位のファイルスクリプトと混同しないでください)。私はこの質問に対する答えを読んだ。 systemdを使用して30分ごとにスクリプトを実行する

これが私の問題があるところです。 systemdが実行するスクリプトはどこに保存する必要があり、保存できますか?特に、Arch Linuxにはこの目的のために予約されたスペースがありますか?

  • たとえば、ログは次の場所に配置されます。/var/log
  • systemdユニットファイルは次の場所にあります。/etc/systemd/system

/etc/systemd/system/writehello.service

サンプルサービスです。

[Unit]
Description=Run python script that writes hello in file on /media/5TB/hello.txt

[Service]
Type=oneshot
ExecStart=# <-- This is what I am looking for

[Install]
WantedBy=multi-user.target

/etc/systemd/system/writehello.timer

対応するタイマーです。これらはすべて録音されたものです。

[Unit]
Description=test

[Timer]
Persistent=true
OnUnitActiveSec=10s
OnBootSec=10s

[Install]
WantedBy=timers.target

/path/to/writehello.py

これが私が探している道です。

#!/usr/bin/env python

import os
import datetime

now = datetime.datetime.now()

f1 = open('/media/mydrive/hello.txt','a')
f1.write('hello %s\n' % (now))
f1.close

ベストアンサー1

私も同じ考えをしていますが、他の方々の意見も聞きたいです。私の考えは、管理者が実行する必要がある項目をどこに置くか/usr/local/sbinということです。sbin

あなたの分析は正しいです。これは/usr/local、パッケージ管理者が管理していないコンテンツをインストールするために特に使用される場所です。ただし、bin一般ユーザーも実行できる必要があります。両方の場合rootを除いて/usr/local...私が知っている限り、これは(/ usr /全体の)ルールです。

/opt通常、システムでデフォルトで使用されていないソフトウェアパッケージに使用されます。ユーザーはbin/man/etcにいくつかの環境変数を設定する必要があります。特定のパッケージのディレクトリです。上記のリンクをお読みください。

バラよりRHEL FSHの概要しかも最新のFHS文書

おすすめ記事