web-dev-qa-db-ja.com

起動時に1分の遅延でSudoコマンドを開始するにはどうすればよいですか?

ログオンしてから1分後にSudoコマンド(Sudo service smbd restart)を実行したいと思います。これをどうやってやるの?

追伸これは、モニター、マウス、キーボード、またはスピーカーが接続されていないシステムです-プリンターとファイルサーバーです。

8
user2235532

A)systemスタートアップの場合、これを/etc/rc.local(1)の最後に追加します:(明らかにexit 0の前):

( sleep 60 && service smbd restart )& 

注意:

  1. 外側の()は、複雑なコマンドがそれ自体を切り離してバックグラウンドに移動し、ブートプロセスが終了できるようにするために必要です。
  2. Sudoは必要ありません。/etc/rc.localrootによって実行されます。
  3. これは本当に解決策ですか?それは起こることを求めている競合状態です...

B)ユーザーログインの場合、2つの手順が必要です:

  1. service smbd restartコマンドのパスワードを要求しないようにSudoを設定します( パスワードなしで特定のSudoコマンドを実行するにはどうすればよいですか? )。

  2. 次の内容のスクリプトを準備し、自動実行/起動プログラムに追加します(使用しているデスクトップ環境によって異なります)。

脚本:

#!/bin/bash
( sleep 60 && service smbd restart )& 

脚注

(1)/etc/rc.localが実行可能かどうかを確認します。それ以外の場合は、Sudo chmod +x /etc/rc.localで作成します

10
Rmano

man sleepを試してください:

sleep 60 && Sudo service smbd restart

ログイン時に実行される自動実行プログラムまたはスクリプトにこれを配置します。

4
landroni