📜  crontab 记录 centos - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:30:07.494000             🧑  作者: Mango

Crontab 记录 CentOS - Shell-Bash

介绍

Crontab 是一个用于在 Linux 或 Unix 系统上定期执行任务的工具,可以在 Crontab 中修改时间和任务,以便自动执行想要的操作。本文将介绍如何在 CentOS 下使用 Crontab 来执行诸如备份、清理无用文件等任务,以减少系统管理的工作量。

安装 Crontab

Crontab 是 Linux 系统默认安装的,您无需再次安装。如果您的系统中没有 Crontab,则可以使用以下命令安装 Crontab:

sudo yum install cronie
编辑 Crontab

使用以下命令编辑现有用户的 Crontab 文件:

crontab -e

这将打开一个文本编辑器,该编辑器将显示用户的 Crontab 文件中的所有现有条目。每个 Crontab 条目都必须占用一行,并且必须包含六个字段。

* * * * * command
- - - - -
| | | | | 
| | | | ----- Day of week (0 - 7) (Sunday is both 0 and 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

例如,以下是 Crontab 条目的示例:

0 0 * * * /path/to/command

该条目表示在每天的午夜(0:00)执行 /path/to/command。

Crontab 示例

以下是 Crontab 示例,以定时备份数据库系统为例。

# 每天凌晨 2:00 备份数据库
0 2 * * * /usr/bin/mysqldump -u root -pPASSWORD database > /path/to/backup/file.sql
 
# 每周日凌晨 3:00 将备份文件压缩为 tar 包
0 3 * * 7 tar -czvf /path/to/backup/file_$( date +\%Y-\%m-\%d ).tar.gz /path/to/backup/file.sql
 
# 每月 1 日凌晨 4:00 删除一个月之前的所有备份文件
0 4 1 * * rm -f /path/to/backup/file_$( date -d '30 days ago' +\%Y-\%m-\%d ).tar.gz

在此示例中,我们使用 Crontab 在每天、每周和每月定期备份数据库,并在每周日凌晨 3:00 将备份文件压缩为 tar 包,以及在每月 1 日凌晨 4:00 删除一个月之前的所有备份文件。

查看 Crontab 日志

Crontab 的所有任务都记录在 /var/log/cron 文件中。要查看 Crontab 日志,请使用以下命令:

sudo tail -f /var/log/cron
总结

Crontab 是一个强大的工具,可以帮助您自动执行 Linux 系统中的各种任务,从而减少系统管理的工作量。本文介绍了如何在 CentOS 下使用 Crontab 进行备份和清理无用文件等任务的示例,以及查看 Crontab 日志。希望这篇文章对您有所帮助!