0

ssh経由でrootとしてcentosにログインすると、次のように入力します

at  -f /etc/at_stopssh.txt now + 5 minutes

動作し、1 つのスケジュール ジョブが正常にセットアップされました

at_stopssh.txt には、以下に示す簡単なコマンドが含まれています

service sshd stop

次に、再起動後に rc.local ファイルに追加して自動化しようとします。だから私はrc.localに新しい行を追加します

at  -f /etc/at_stopssh.txt now + 5 minutes

再起動後。atqコマンドで確認したところ、ジョブスケジュールが追加されていないようです。

別の方法で試してみます。以下に示す rc.local ファイルに別の改行を追加しました

echo "/sbin/service/service /usr/sbin/sshd/sshd stop"|/usr/bin/at now + 5 minutes

また、まったく機能しませんでした。

ご参考までに、それは私のenvファイルの内容であり、以下に示しています

env | sort > /tmp/env.at



_=/bin/env
G_BROKEN_FILENAMES=1
HISTSIZE=1000
HOME=/root
HOSTNAME=377pc.cn
INPUTRC=/etc/inputrc
LANG=en_US.UTF-8
LESSOPEN=|/usr/bin/lesspipe.sh %s
LOGNAME=root
LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
SHELL=/bin/bash
SHLVL=1
SSH_CLIENT=121.228.206.52 31795 22
SSH_CONNECTION=121.228.206.52 31795 205.185.124.26 22
SSH_TTY=/dev/pts/0
TERM=xterm
USER=root

私の質問は、何が問題なのですか?新しい「AT」ジョブを自動的に設定し、再起動後に機能させるにはどうすればよいですか?

どうもありがとうオースティン

4

1 に答える 1

1

at-job は再起動時にクリアされます。再起動後に発生する必要がある cron ジョブには適していません。

幸いなことに、@reboot再起動後にジョブを実行できる特別な crontab エントリがあります。5 分間待つ必要がある場合は、適切なsleep.

ただし、そもそも SSH サーバーが開始されないようにすることが本当に目的である場合はchkconfig、サービスをオフにする必要があります。CentOS での名前は 100% わかりませんが、Ubuntu ではchkconfig ssh off.

于 2011-03-07T02:22:53.697 に答える