`crontab` 是一個用于在 Linux 和 Unix 系統(tǒng)上定期執(zhí)行任務(wù)的工具。
## 準備腳本
首先,需要有一個要定期執(zhí)行的腳本。這里以一個簡單的 Bash 腳本為例,創(chuàng)建一個名為 `test_script.sh` 的腳本,該腳本會將當前時間寫入一個日志文件。
``` bash
#!/bin/bash
echo "Script executed at $(date)" >> /path/to/your/logfile.log
```
### 腳本權(quán)限設(shè)置
確保腳本具有可執(zhí)行權(quán)限`chmod +x test_script.sh`。
## 編輯`crontab`文件
### 為當前用戶編輯
使用`crontab -e`命令打開當前用戶的 `crontab` 文件,如果是第一次使用,系統(tǒng)會讓你選擇一個文本編輯器,選擇你熟悉的編輯器(如 `nano` 或 `vim`)即可。
### 為系統(tǒng)全局編輯
編輯 `/etc/crontab` 文件,但這種方式通常用于系統(tǒng)級任務(wù),需要 root 權(quán)限,`sudo vi /etc/crontab`。
## 添加定時任務(wù)
在打開的 `crontab` 文件中,按照 `crontab` 的語法添加定時任務(wù)。
``` plaintext
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- 星期 (0 - 7) (0 or 7 表示周日)
| | | +------- 月份 (1 - 12)
| | +--------- 日期 (1 - 31)
| +----------- 小時 (0 - 23)
+------------- 分鐘 (0 - 59)
```
例如,如果想讓腳本每小時執(zhí)行一次,可以在 `crontab` 文件中添加以下行:
```plaintext
0 * * * * /path/to/your/test_script.sh
```
如果想讓腳本每天凌晨 2 點執(zhí)行,可以添加:
```plaintext
0 2 * * * /path/to/your/test_script.sh
```
## 保存并退出
編輯完成后,保存并退出文本編輯器。如果你使用的是 `nano`,可以按 `Ctrl + X`,然后按 `Y` 確認保存,最后按 `Enter` 退出。如果你使用的是 `vim`,可以按 `Esc` 鍵,然后輸入 `:wq` 保存并退出。
## 驗證定時任務(wù)
可以使用`crontab -l`命令查看當前用戶的 `crontab` 列表。
## 日志查看
`cron` 任務(wù)的執(zhí)行日志通常記錄在 `/var/log/syslog` 或 `/var/log/cron` 文件中,可以使用`tail -f /var/log/syslog`命令查看日志。
https://gitee.com/biox-lab/biclass.biox/blob/master/%E4%BF%AE%E4%B8%9A/Computer-Sciences/OS-Operating-System/Linux/System/crontab/%E4%BD%BF%E7%94%A8crontab%E5%AE%9A%E6%9C%9F%E6%89%A7%E8%A1%8C%E8%84%9A%E6%9C%AC.md
#Linux #crontab