网站首页 > 精选文章 正文
久了不用,经常忘记,记录一下crontab的简单用法,以利于未来用到或忘记时快速查阅。
以下命令是在Ubuntu Linux上的终端执行的,可能有些命令不适用于其他版本的Linux。
如何知道Linux系统是否安装了cron服务?
有三个方法可以知道Linux系统是否安装了cron服务,方法一是使用apt命令,方法二是使用dpkg命令,方法三是使用systemctl命令。
方法1: 使用apt命令
apt list cron --installed
方法2: 使用dpkg命令
# 命令1
dpkg -l cron
# 命令2
dpkg -l | grep cron
# 命令3
dpkg -l | cut -d " " -f3 | grep cron
# 命令4 可以查看cron服务被安装在哪些路径下
dpkg -L cron
方法3: 使用systemctl命令
# 查看cron服务的状态
systemctl status cron
cron服务的安装、开机自启、启动、停止、重启、查看状态
# 安装cron服务
sudo apt update
sudo apt install cron
# 激活cron服务 开机自启(开机时自动启动)
sudo systemctl enable cron
# 禁用cron服务 开机自启
sudo systemctl disable cron
# 查看cron服务 是否激活了开机自启
sudo systemctl is-enabled cron
# 启动cron服务
sudo systemctl start cron
# 停止cron服务
sudo systemctl stop cron
# 直接kill掉cron服务,慎用这个命令,一般用systemctl stop停止服务
sudo systemctl kill cron
# 重启cron服务
sudo systemctl restart cron
# 查看cron服务的状态
sudo systemctl status cron
使用crontab命令设置定时任务的步骤
步骤1: 安装和启动cron服务。如何安装cron服务?如何启动cron服务?前文已列出解决方法。
步骤2: 编写一个定时任务需要执行的脚本。这里我用python写了一个名叫create_machine_prize.py的脚本。
步骤3: 确定脚本执行的时间点。我这里希望脚本每10分钟执行一次,所以,该脚本的crontab任务配置如下:
*/10 * * * * /usr/bin/env bash -c 'cd /data/web/m.xyz.com && /data/web/m.xyz.com/env/bin/python -m cron_jobs.create_machine_prize' > /dev/null 2>&1
步骤4: 执行crontab -e命令,进入crontab任务编辑界面,复制步骤3的crontab任务配置,然后粘贴进去,保存后退出,执行crontab -l命令查看刚才添加的任务是否存在。
执行crontab -e命令后进入的编辑环境,就是vi编辑器的环境,只要会用vi编辑器,编辑crontab任务的配置没有任何难度。
命令执行过程如下所示:
helper@hgdm:~$ crontab -e
crontab: installing new crontab
helper@hgdm:~$ crontab -l
*/10 * * * * /usr/bin/env bash -c 'cd /data/web/m.xyz.com && /data/web/m.xyz.com/env/bin/python -m cron_jobs.create_machine_prize' > /dev/null 2>&1
步骤5: 确定一下任务是否正确执行了。这里,我把任务的处理结果写入了数据库,我去数据库查看一下是否有数据就知道了。
其实,测试时最好把任务的输出结果写入到一个日志里,以利于出错时高效排错。若需写入日志,可以使用以下crontab配置:
*/10 * * * * /usr/bin/env bash -c 'cd /data/web/m.xyz.com && /data/web/m.xyz.com/env/bin/python -m cron_jobs.create_machine_prize' >>/home/helper/logs/create_machine_prize.log 2>>&1
最后
本文只是写了crontab的简单使用。如何配置任务的执行时间点,需要去查相关资料了。
猜你喜欢
- 2025-09-09 CentOS Linux系统中的getent命令_linux gettickcount
- 2025-09-09 10 个核心 Linux 面试问题及答案,来挑战挑战!
- 2025-09-09 一天一点点:linux - ip 命令_linux ipi
- 2025-09-09 第 6 章:查询数据 (SELECT) - PostgreSQL入门
- 2025-09-09 Linux yq 命令使用详解_linux中命令详解
- 2025-09-09 Linux 的 18 个装 B 命令,记得全部搂一遍
- 2025-09-09 Linux系统安装SQL Server数据库_linux安装数据库实例
- 2025-09-09 Linux系统LOG日志分析与管理(四)——配置Loganalyzer
- 2025-09-09 DevOps—Linux命令行进阶_linux dev命令
- 2025-09-09 5个Linux服务器IO瓶颈排查命令,让你的系统运维效率提升10倍
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)