有没有办法让用户在不打开 nano 的情况下创建 cron 条目

有没有办法让用户在不打开 nano 的情况下创建 cron 条目

有没有办法用 bash 创建一个 cron 条目,用户只需输入要执行的命令,脚本就会完成剩下的工作。

如果尚未创建,则创建 cron 文件设置执行时间。

感谢您的调查。

答案1

你可以这样做:

crontab -l > ./my.cron
: manipulate ./my.cron somehow without editing
crontab ./my.cron     

我不知道有这样一个工具可以作为创建 cron 条目的“向导”。

如果您的问题确实是关于使用 nano,那么请将您的VISUAL环境变量设置为您喜欢的编辑器。

答案2

我不明白你想要什么。创建 crontab 的正常方法是运行crontab -e。然后,用户将“只需输入要执行的命令,脚本将完成其余工作”。用户所要做的就是设置时间和要运行的命令。还有什么比这更简单的呢?

不可能cron自动设置时间,它怎么知道你希望命令何时运行?你的意思是你想创建一个具有默认时间?如果是的话,你可以这样做:

#!/usr/bin/env bash

time="0 5 * * 1" ## 5 a.m every week 

read -p "Enter the command you wish cron to run:" comm 

file=`mktemp` && echo "$time $comm" > $file && crontab $file && rm $file

例如,您可以将其保存为 /usr/local/bin/make_crontab.sh


或者,如果您只想不使用nano,请更改$EDITOR变量。我个人使用emacs,因此我的 中有以下行.bashrc

export EDITOR='/usr/bin/emacs';

相关内容