惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

马浩飞丨博客

ROS实现多机话题通信 Cloudflare R2 个人图床 Isaac Sim 机械臂逆运动学控制 ROS2_Rviz2显示URDF模型 ROS2基本命令总结 使用zsh创建更高效的shell环境 Isaac Sim 仿真环境使用简介 审稿意见撰写流程 Ubuntu 固定USB设备端口名(ttyUSB0->自定义) Git+Github的代码备份与多设备同步 【设备使用】法奥意威 FR5 机械臂 Python 控制 Python识别图片中文字和数字_easyocr 【设备使用】omega.7主手配置与使用方法 【论文笔记】ACT 使用低成本硬件的双手操作模仿学习 HDF5数据文件格式 【仿真实验】robomimic项目复现 【课程笔记】Stanford CS25 V2 - Robotics and Imitation Learning Ubuntu与Window双主机共用一套键鼠 Windows与Ubuntu双系统绑定同一个蓝牙设备(无需重新配对)
Ubuntu设置定时任务
马浩飞 · 2024-11-09 · via 马浩飞丨博客

由于某些需求(例如定时重启某个任务,定时推送更新博客,定时备份文件等),需要定时执行某些任务。

cron

cron 是 Linux 系统中用于管理和执行周期性任务的工具。

任务编辑规则

(1)打开 cron 任务编辑器

1
crontab -e

如果是第一次使用 crontab,系统可能会让你选择一个文本编辑器,通常可以选择 nano 简单一些。

(2)配置 cron 服务

表达式如下:

1
2
*  *  * *  *   command
分 时 天 月 周 命令
  • 分:0-59
  • 时:0-23
  • 天:1-31
  • 月:1-12
  • 周:1-6 周一至周六,0 周日

此外:

  • *:表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
  • ,:允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
  • \:一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 */2 代表每隔两分钟。所以 */1* 没有区别

例如:

1
2
3
4
1. \* * * * *      # 每隔一分钟执行一次任务
2. 0 * * * * # 每小时的0点执行一次任务,比如6:00,10:00
3. 6,10 * 2 * * # 每个月2号,每小时的6分和10分执行一次任务
4. \*/3,\*/5 * * * * # 每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06

配置一个定时任务

(1)创建脚本

例如我们需要每天在命令行执行 hexo g, hexo d 的命令。

首先创建脚本:gedit hexo.sh,写入如下内容:

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash

HEXO_DIR="/path/hexo_blog_dir"

if [ -d "$HEXO_DIR" ]; then
cd "$HEXO_DIR" || exit
hexo g && hexo d
echo "已在 $HEXO_DIR 执行 hexo g 和 hexo d"
else
echo "未找到 $HEXO_DIR 目录"
fi

(2)赋予权限

1
sudo chmod +x hexo.sh

可以验证一下 hexo.sh 是否能够成功执行。

(3)添加定时任务

打开 crontab -e,添加一行内 W容:

1
* 0 * * * /home/mahaofei/Software/everyweek.sh

(4)重启 cron 服务

1
sudo service cron restart

这样就会每天 0 点定时执行 hexo.sh

打赏

  • 微信支付

    微信支付

  • 支付宝

    支付宝