气ython风雨 发表于 2024-5-21 21:36:47

Linux入门002 | 看日期、时间换算和定时作业


Linux入门002 | 看日期、时间换算和定时作业
前言
在Linux世界里,日期与时间不仅是系统运行的脉络,更是众多命令行操作的核心要素。无论是追踪日志、管理备份,还是安排定时任务,对日期和时间的精准操控都是提升工作效率的关键。本期文章将揭示Linux指令中与日期相关的实用技巧和魔法般的组合,助您轻松驾驭时间,让命令行工作如虎添翼。

一、获取当前日期与时间
最基础也最常用的日期时间命令是 date。简单执行 date 即可显示当前系统时间:

In :
!dateSat 06 Apr 2024 04:48:50 PM UTC
您还可以使用各种格式选项定制输出:

指定格式输出:使用 +FORMAT 参数自定义日期时间格式。例如,输出年月日时分秒:

In :
!date '+%Y-%m-%d %H:%M:%S'
2024-04-06 16:32:34

格式代码:

%Y:四位数年份
%m:两位数月份
%d:两位数日期
%H:24小时制小时数
%M:分钟数
%S:秒数

显示UTC时间:加上 -u 参数显示协调世界时(UTC):

In :
!date -uSat 06 Apr 2024 04:33:29 PM UTC

二、日期运算与转换
有时,您可能需要计算未来或过去的某个日期,或者将日期转换为不同格式。以下是一些实用工具和方法:

date 的加减运算:使用 date -d 实现日期的加减。例如,获取明天的日期:

In :
!date -d 'tomorrow'Sun 07 Apr 2024 04:33:59 PM UTC
或者计算指定天数后的日期:

In :
!date -d 'now + 7 days'Sat 13 Apr 2024 04:34:20 PM UTC

三、利用日期筛选文件
在处理大量文件时,根据文件的创建、修改或访问日期进行筛选尤为实用。以下是一些常见操作:

查找最近修改的文件:使用 find 命令结合 -mtime、-ctime 或 -atime 选项,按修改时间、状态改变时间或访问时间筛选文件。例如,查找过去24小时内修改过的文件:

In :
!touch 1.txt 2.txt 3.txt
In :
!find /home/mw/project -type f -mtime -1/home/mw/project/1.txt
/home/mw/project/2.txt
/home/mw/project/3.txt

根据日期范围查找文件:
通过组合 -newer 选项与一个参考文件(或日期标记文件)来定位在指定日期之后修改的文件:

In :
!touch -d '2022-04-06 00:49:00' reference_file
In :
!find /home/mw/project -type f -newer reference_file
/home/mw/project/1.txt
/home/mw/project/2.txt
/home/mw/project/3.txt

四、调度基于日期的任务
计划任务是Linux管理中的重要一环,cron 是实现定时任务的瑞士军刀。利用 crontab 命令编辑定时任务列表,您可以精确控制任务的执行时间:

In :
# 打开 crontab 编辑器
!crontab -e
# 添加定时任务(每天凌晨3点执行 backup.sh 脚本)
!0 3 * * * /path/backup.sh
/bin/bash: crontab: command not found
/bin/bash: 0: command not found
此处仅仅作为示例,看起来和鲸镜像并不能设置定时作业

Cron 时间格式:
五个* 分别对应
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └───── 星期 (0-7,0和7都代表周日)
│ │ │ └─────── 月份 (1-12)
│ │ └───────── 日期 (1-31)
│ └─────────── 小时 (0-23)
└───────────── 分钟 (0-59)

小结
以上仅为个人常用指令,如有异议欢迎补充



文章来源于公众号:气python风雨
页: [1]
查看完整版本: Linux入门002 | 看日期、时间换算和定时作业