20

そのBashファイルを定期的に実行する必要があり、ルートとして実行する必要があります。

それは可能ですか?

[root@file nutch-0.9]# locate crontab
/etc/crontab
/etc/sysconfig/crontab
/usr/bin/crontab
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man1p/crontab.1p.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/vim/vim71/syntax/crontab.vim
[root@file nutch-0.9]# 
4

6 に答える 6

20

はい、root ユーザーのcrontabに追加するだけです。コマンドを実行しcrontab -eます。

cron がファイルを保存する場所は少し変わっている可能性があるためcrontab -e、正しい場所にあることを確認するコマンドを使用すると、構文がチェックされると思います。

于 2009-06-18T22:19:03.003 に答える
16

あなたはただすることができます

crontab -e

ルートとして。

于 2009-06-18T22:19:10.350 に答える
7

rootのエントリのユーザーとして指定するだけ/etc/crontabです。

0 0 *  * *  root  somecommand

または、root として使用して、root の個人用 crontab にコマンドを追加することもできますcrontab -e

于 2009-06-18T22:26:06.373 に答える
5

いずれにせよ、root ユーザー アカウントにアクセスできる必要があります。

  1. 提案されているように、ルートcrontabに追加できます
  2. 提案されているように、sudoを使用できます
  3. setuid ビットを使用できます。setuid ビットの問題は、コンパイルされたプログラムである必要があることです。コンパイルされている場合は、「chmod 4755」してファイルの所有者をルートに設定すると、ルートとして実行されます。コンパイルされていない場合は、スクリプトを呼び出すだけの小さなラッパーを C (またはその他のコンパイル済みプログラミング言語) で作成し、ラッパーに setuid を設定して、ラッパーが root によって所有されていることを確認します。

私のアドバイス?ルート crontab を使用します。それが目的です。

また、sth で提案されているように、crontab にユーザー エントリはありません...構文は次のとおりです。

# .---------------- minute (0 - 59) 
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ... 
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7)  OR sun,mon,tue,wed,thu,fri,sat 
# |  |  |  |  |
# *  *  *  *  *  command to be executed

root として crontab に何かを入力したい場合は、root アカウントにログインし、"crontab -e" と出来上がり...root crontab です。

于 2009-06-18T22:33:22.460 に答える
0

root の crontab のエントリはすべて root として実行されると思います。アクションとして Bash スクリプトを呼び出すだけで、必要なことが実行されます。

于 2009-06-18T22:19:28.337 に答える
-2

これを行う 1 つの方法 (sudo 経由):

  1. ユーザー資格情報を入力せずにアカウントを実行するには、sudo権限を設定する必要があります
  2. コマンドをルートとして実行するには、「sudo /path/to/command」(「なし」) を追加します。コマンドにパラメーターを追加することもできます。
于 2009-06-18T22:21:20.627 に答える