Crontab,其核心Cron是一个类Unix系统基于时间的任务管理器,当然写脚本也只是Crontab的一个小功能而已(你甚至可以用Crontab发邮件和下载文件),我们这里只讲如何写脚本
首先下载Crontab(如果有就忽略)
apt install crontab
(Debian/Ubuntu)
yum install -y Crontab
(CentOS)
然后新建的话,一般可以用这个代码
crontab -e
然后如果有多个文件编辑器(如vim,GNU Nano等),Crontab可能会让你选择一个默认的文件编辑器,选自己最上手的即可
如果你的服务器自带Crontab的话,你可能会看到IDC商已经有了几个定时任务,请酌情删除(建议不删除)
然后Crontab的表达式如下
1(分) 2(时/24小时制/0-23) 3(日) 4(月) 5(星期) 文件/文件路径
是不是看不懂?有人要问了:我要的写的是一个任务脚本?为啥表达式要我写文件或者文件路径,我可以直接写任务代码吗?答案是:不行
你要知道一句话,只要你用Linux系统都要知道的一句金玉良言:
Everything is a file (万物皆文件)
简单可以理解为:你的任何任务代码都可以看成一个文件处理,假设说我要写一个重启的定时脚本,当然重启的命令肯定是一个文件,且保存在一个文件夹里面的,那到底是哪个文件夹呢?一般来说是保存在sbin文件的,所以说你要写这个脚本,正确的写法是(举例):
1 2 * * * /sbin/reboot
(表示每天凌晨2点01分重启服务器)
当然在上面的代码中,我们没有设置日期、月份和星期,不设置我们就用*号表示
假设说我们要设置一个早上3点晚上8点的定时任务,代码就是这个样子的:
0 3,20 * * * /sbin/reboot
(这里要注意,我们要表达的是一个完整的时间,所以分那里要写0是必须的)
更多语法教程可以看这个网站:点击进入 (我就难得说了)
然后我们保存即可,保存后2分钟内就会自动运行脚本,如果需要立即执行,可以重启Cron来让脚本立即运行
service cron restart
(Debian/Ubuntu)
service crond restart
(CentOS)
如果要查看现在执行的脚本,可以使运行下面的代码查看:
crontab -l
评论
发表评论