特定のユーザーとしてcronジョブを実行する方法は?


15

マシンの起動後に実行したいコマンドがいくつかあります。ユーザーがログインしたり、何かを実行したりする必要はありません。

キーワードでcrontab提案するこの素晴らしい答えを見つけましたが@reboot、これはrootとして実行され、これらの「サービス」(実際のシステムサービスではない)用に作成された特定のユーザーとして実行したいと思います。

特定のユーザーで同じ効果を達成する方法は何ですか?


'$ su [ユーザー名] [コマンド]'を実行してください
LittleByBlue 14

回答:


24

次のように、特定のユーザーのcrontabを作成できます。

crontab -u <username> -e

もっと簡単に言うと、crontab -eそのユーザーとしてログインしたときに実行するだけです。

または、(root)crontabでコマンドのプレフィックスを付けてsudo -u <username>、指定されたユーザーとしてコマンドを実行することもできます。


おかげで、私はそれらでそれを動作させることができませんでした。しかし、今では誰でもcrontabを作成できることがわかりました。コマンドは、sudoを使用してrootとして正常に実行されます。そこでsudoを使用できるとは知りませんでした(パスワードを待つのに失敗することを期待していました)。
ルイ14

2
@Louis sudoは、rootとして呼び出すときにパスワードを必要としません。基本的に、あなたは許可を得ているのではなく、放棄しています。
クラクソール14

1
@kraxor-そのユーザーとしてログインすると、crontab -eを実行できます。これは正しくないと思います。
bhv
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.