如何自动设置“AT”重新启动后安排一次作业

发布于 2024-10-20 17:47:35 字数 1614 浏览 7 评论 0原文

当我通过 ssh 以 root 身份登录 centos 时 我输入

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

并且它有效,一个计划作业已在

_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”作业并使其在重新启动后正常工作?

非常感谢 奥斯汀

when I loging in centos as root via ssh
i type

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

and it works, one schedule job has been setup sucessfully

at_stopssh.txt include a simple command shows below

service sshd stop

then i try to automate it after rebooting by adding it into
rc.local file. so i add a new line in the rc.local

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

after reboot . i checked by atq command, it seems there is no job schedule has been added.

I try it in another way. i added another newline into rc.local file shows below

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

and it was non funcational at all again.

for your reference it is my env file content shows below

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

My question is what is wrong with it? how could i aotomatically setting up a new "AT" job and make it functional after a reboot?

Many thanks
Austin

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瑕疵 2024-10-27 17:47:35

重新启动后,当前作业将被清除;它们不适合重启后发生的 cron 作业。

幸运的是,有一个特殊的 @reboot crontab 条目可让您在重新启动后运行作业。如果需要等待 5 分钟,可以插入适当的睡眠

但是,如果您真正想要做的是首先阻止 SSH 服务器启动,则应该 chkconfig 关闭该服务。我不能 100% 确定 CentOS 上的名称是什么,但在 Ubuntu 上它将是 chkconfig ssh off

At-jobs are cleared upon restart; they’re not appropriate for cron jobs that should occur after restart.

Luckily enough, there is a special @reboot crontab entry that lets you run a job after reboot. If you need to wait 5 minutes, you can insert an appropriate sleep.

However, if what you're really trying to do is prevent the SSH server from being started in the first place, you should chkconfig the service off. I'm not 100% sure what the name is on CentOS, but on Ubuntu it would be chkconfig ssh off.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文