如何禁用 crontab -l 中的所有内容?

如何禁用 crontab -l 中的所有内容?

我只想暂停一切。不要执行 上列出的任何操作crontab -l

答案1

crontab -e然后注释掉您不想运行的每一行#

答案2

首先,备份 crontab:

crontab -l > my_cron_backup.txt

然后你可以清空它:

crontab -r

恢复:

crontab my_cron_backup.txt
crontab -l

这仅适用于运行这些命令的用户的 crontab,但不会清空/恢复其他用户的 crontab。我的其他答案是关于暂停所有用户的启动。

答案3

您有 root 权限吗?只需暂停 cron 即可

sudo /etc/init.d/crond stop

准备好后重新启动

sudo /etc/init.d/crond start

答案4

对上述选项不满意,因为它们不是一行。

禁用 crontab -l | perl -nle 's/^([^#])/# $1/;print' | crontab

启用 crontab -l | perl -nle 's/^#\s*([0-9*])/$1/;print' | crontab

使用示例(已编辑以显示它不会禁用评论)

$ crontab -l
# Comment
0 0 * * 0 /opt/something.sh

$ crontab -l|perl -nle 's/^([^#])/# $1/;print'|crontab
$ crontab -l
# Comment
# 0 0 * * 0 /opt/something.sh

$ crontab -l|perl -nle 's/^#\s*([0-9*])/$1/;print'|crontab
$ crontab -l
# Comment
0 0 * * 0 /opt/something.sh

在 RHEL 和 AIX 上进行了测试,无需安装任何东西即可开箱即用

相关内容