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文書。