gpt4 book ai didi

shell - 如何在重新启动后自动设置一次 "AT"计划作业

转载 作者:行者123 更新时间:2023-12-04 19:39:14 24 4
gpt4 key购买 nike

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

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

它有效,已成功设置一项计划作业

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

非常感谢
奥斯汀

最佳答案

At-jobs 在重新启动时被清除;它们不适合重启后应该发生的 cron 作业。

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

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

关于shell - 如何在重新启动后自动设置一次 "AT"计划作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5215122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com