at,crontab定时程序

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 介绍程序员对于定时执行任务一定不陌生,很多任务为了减少对用户的干扰,如系统更新、维护、数据库结构变更等,通常会选择在凌晨进行。对于一些简单的无需人工照看的任务,就可以预先写好命令,并设定时间自动运行,然后就可以安心睡大觉了。

介绍

程序员对于定时执行任务一定不陌生,很多任务为了减少对用户的干扰,如系统更新、维护、数据库结构变更等,通常会选择在凌晨进行。对于一些简单的无需人工照看的任务,就可以预先写好命令,并设定时间自动运行,然后就可以安心睡大觉了。
其他情况还有,可以预计的将来要做的操作,为了防止遗忘,先写好命令脚本,然后设置自动运行,就可以把这事从你的日程表里划掉啦。
下面进入正题。

一、at

1. 常用命令

基本用法:at [参数] [时间]
控制台读入任务完毕,ctrl+d结束。

参数 说明
at -l 或 atq 查看当前任务
at -d [任务id]或atrm 删除定时任务
at -c [任务id] 打印任务内容
at -f [文件] 从指定文件读入任务,而不是从控制台
2. 用法

时间的指定非常灵活,下面列举常用几种:
at 04:00
at 04pm
at noon
at now + 3min/minutes/hours/days/weeks
at 04pm + 20min
at today/tomorrow
at 7:30pm 2017-09-26

二、cron

定时任务命令crontab = chronos + table。chronos来源于希腊语,原意是时间

1. 常用命令
命令 说明
crontab -e 编辑定时任务,可以增加或删除。推荐
crontab -l 列出当前用户的定时任务
crontab -r 删除当前用户的定时任务
crontab [test.cron] 用test.cron(自己定义)覆盖定时任务文件 (不推荐)
2. 配置说明
img_e33c1c6c0f2a796557a3013a214d59f7.png

crontab -e的默认文件,对配置有了初步的说明,基本够用。下面通过示例形象说明:

指令 功能
*/2 * * * * echo 'holy shit' >> test.txt 每两分钟执行一次
20-40/2 * * * * echo 'holy shit' >> test.txt 20到40分钟,每两分钟执行一次
20-40/2, 50 * * * * echo 'holy shit' >> test.txt 20到40分钟,每两分钟执行一次,第50分钟也执行一次
0 3-5 * * * echo 'holy shit' >> test.txt 每天的3到5小时开始时执行一次
0 3-5 3,5,6 * * echo 'holy shit' >> test.txt 每月3、5、6号的3到5点开始时执行一次
3. 日志地址

一般情况下,crontab日志在/var/log/cron.log.

如果没有,那么就在/var/log/syslog,可通过下面命令查看cron日志:

grep cron /var/log/syslog

修改日志位置:

sudo vi /etc/rsyslog.d/50-default.conf

#找到下面的line
#cron.*                         /var/log/cron.log
#去掉注释
sudo systemctl restart rsyslog
#查看启动状态
sudo systemctl status rsyslog
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
存储 JSON 数据格式
Elasticsearch 8.X 可以按照数组下标取数据吗?
Elasticsearch 8.X 可以按照数组下标取数据吗?
|
10月前
|
存储 缓存 安全
Java 集合框架优化:从基础到高级应用
《Java集合框架优化:从基础到高级应用》深入解析Java集合框架的核心原理与优化技巧,涵盖列表、集合、映射等常用数据结构,结合实际案例,指导开发者高效使用和优化Java集合。
196 4
|
7月前
|
安全 网络协议 数据建模
免费SSL证书最新申请全攻略
SSL证书分为三种类型:DV(域名验证型)适用于个人博客等,验证简单;OV(组织验证型)适用于电商、金融网站,需验证企业信息;EV(扩展验证型)提供更高信任级别。申请渠道有JoySSL(免费一年单域名证书)、Let's Encrypt(公共免费项目)和阿里云(免费DV证书,但有限制)。以JoySSL为例,申请流程包括注册账号、选择证书、填写信息、验证域名所有权、下载与安装。注意事项包括留意有效期、确保兼容性和使用最新版本证书,以保障网站安全。
|
11月前
|
算法 C++
Leetcode第50题(Pow(x,n))
这篇文章介绍了如何使用快速幂算法解决LeetCode第50题,即实现函数pow(x, n)来计算x的n次幂,并提供了C++的代码实现。
165 0
|
安全 网络安全 数据安全/隐私保护
智能家居安全指南:保护你的网络家园
在数字化时代,智能家居设备为我们带来了便捷生活的同时,也引入了安全隐患。本文以浅显易懂的语言,介绍了如何保护智能家居免受网络攻击的实用技巧。我们将从智能设备的密码设置、网络安全、软件更新等方面入手,教你如何打造一个安全的智能家居环境。无论你是科技小白还是资深玩家,都能从中获益。让我们一起守护数字生活的安全边界,享受智能技术带来的纯粹乐趣。
153 0
|
安全 网络安全 量子技术
网络安全与信息安全:漏洞、加密与意识
在数字化时代,网络安全与信息安全成为维护个人隐私和社会稳定的关键。本文将深入探讨网络安全的常见漏洞、先进的加密技术以及提升公众安全意识的重要性。通过分析最新的统计数据和案例研究,我们将揭示网络攻击的常见手段,评估不同加密方法的有效性,并讨论如何通过教育提高人们的安全防范能力。 【7月更文挑战第25天】
84 0
|
算法
海王算法(看完不会变成海王)
海王算法(看完不会变成海王)
298 0
海王算法(看完不会变成海王)
|
存储 C语言
初识C语言(下)
初识C语言(下)
109 0
|
XML 数据格式
小工具:批量替换文件夹下所有文件内容中的指定词
函数作用:找出某文件夹下的包含指定关键词文件列表,并将关键字修改为目标字并将新内容保存至源文件
473 0