anacronをユーザーモードで実行するにはどうすればよいですか?


30

経由でスケジュールされたタスクを設定しanacronたいのですが、ユーザーモードで設定したいと思います。どうすればこれを達成できますか?


あなたは、タスクがユーザーモードで実行したい場合は、私がやったんやただ先頭に追加することができsudo -u <user>、タスクの前にanacrontab
カルティクT

2
また、ここでの答え:serverfault.com/questions/172989/user-specific-anacrontab/...こことは完全には解決まで書かれてうれしいです:akeil.net/posts/user-controlled-anacron.html
サイモン・ウッドサイド

回答:


33

ユーザーモードで実行する別のanacronインスタンスを設定できます。

  1. 作成し.anacron、あなたのホームディレクトリに、その2つのサブフォルダ内のフォルダを、etcspool

    mkdir -p ~/.anacron/{etc,spool}
  2. ~/.anacron/etc/anacrontab次のような内容の新しいファイルを作成します。

    # /etc/anacrontab: configuration file for anacron
    
    # See anacron(8) and anacrontab(5) for details.
    
    SHELL=/bin/bash
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    
    # period  delay  job-identifier  command
    1         10     testjob         test.sh
  3. を使用して、次の行をcrontabに追加しますcrontab -e

    @hourly /usr/sbin/anacron -s -t $HOME/.anacron/etc/anacrontab -S $HOME/.anacron/spool

確認のために、これは指定されたスクリプトをユーザーとして実行するためwhoami、スクリプト内のa はユーザー名を提供しますか?
クリストフ14年

なぜそうHM、さらに検査に私は見ていない...
クリストフ

3
anacron定期的に実行する必要があると思います。一度実行してから終了するようです。システムのアナクロンは1時間ごとに呼び出されます。ここでも同様の戦略が機能すると思いanacronますcrontab。つまり、user からユーザーを呼び出します。
スパルホーク

1
@Sparhawkは同意しました。特にUbuntu 15.10 anacronは両方/etc/apm/event.d/anacronを使用して/etc/init/anacron.conf再起動を処理します。
Ciro Santilli新疆改造中心法轮功六四事件

1
あなたは、例えば、cronジョブを時間ごとにanacronを実行する必要がある01 * * * * /usr/sbin/anacron -t /home/user/.anacron/etc/anacrontab -S /home/user/.anacron/spool
サイモン・ウッドサイド

0

これは私にとってはうまくいきました(ありがとう)が、答えで示された最後のステップを使用しませんでした:

次に、次の行を ~/.profile

私はUbuntu Studio 12.10 Quantalを使用しています。私の場合、最後のステップの代わりに、「アプリケーションメニュー」→「設定」→「設定マネージャー」と設定マネージャーの「セッションとスタートアップ」の下にライナーを置きます。 「アプリケーション自動起動」タブ。

これは、GUIユーザーである私たちにとって~/.profileは、ログインインタラクティブシェルの起動時にbash からのみソースされる~/bashrcためです(bashがインタラクティブシェルの起動時にのみソースされるため、あまり有用ではありません)。


うーん、私は自分でGUIユーザーであり、そのライン.profileは常に私のためにうまく機能しています(ここではUbuntu 12.04)。
グルタニメート
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.