vault backup: 2025-02-10 17:27:57

This commit is contained in:
2025-02-10 17:27:57 +08:00
parent 60a1c02c6a
commit 5752038f86
159 changed files with 1 additions and 1 deletions

84
21.02. Linux/crontab.md Normal file
View File

@@ -0,0 +1,84 @@
### 加入
使用`crontab -e`,然後加入這一行:
`*/1 * * * * /home/awin/script/ddns.sh`
### 說明
![[Pasted image 20240111231507.png]]
依序是 **分鐘,   小時,   日期,   月份,    星期,   command**
參數為 0-59,   0-23,   1-31,  1-21,   0-6,   需要執行的command
**※ 星期參數為 0 代表星期日**
- 【*】:星號,代表任何時刻都接受的意思
- 【,】逗號代表分隔時段。例如30 9,17 * * * command代表早上 9 點半和下午五點半都執行 command。
- 【-】減號代表一段時間範圍。例如15 9-12 * * * command代表從 9 點到 12 點的每個 15 分都執行 command。
- 【/n】斜線n 代表數字,表示每個 n 單位間隔。例如:*/5 * * * * command代表每隔 5 分鐘執行一次 command。
還有一些人性化的參數,一次取代全部五個數字參數
-@reboot】 :僅在開機的時候執行一次。
-@yearly 一年執行一次和0 0 1 1 * command效果一樣。
-@annually】:(和@yearly一樣
-@monthly一個月執行一次和0 0 1 * * command效果一樣。
-@weekly一個星期執行一次和0 0 * * 0 command效果一樣。
-@daily每天執行和0 0 * * * command效果一樣。
-@midnight】:(和@daily一樣
-@hourly 每小時執行和0 * * * * command效果一樣。
### 範例
- 每 5 分鐘執行一次:
- `*/5 * * * *  root    /usr/libexec/atrun`
- 每 5 小時執行一次
- `* */5 * * * root    /usr/libexec/atrun`
- 每天 AM 5:00 執行指令(星號與星號之間要有空隔)
- `00 05   * * *  username /bin/bash /路徑/command`
- 1 至 20 號每天執行一次
- `0 1 1-20  * * root    /usr/libexec/atrun`
- 當分針移到第 5 分時,執行此 cron
- `5 * * * * root    /usr/libexec/atrun`
- 當時針移到 1 點 1 分時,執行此 cron
- `1 1 * * * root    /usr/libexec/atrun`
- 每週一的 1 點 1 分,執行
- `1 1 * * 1 root    /usr/libexec/atrun`
- 2 月 29 日時針到 1 點 1 分,執行
- `1 1 29 2 * root    /usr/libexec/atrun`
- 8 點到 16 點每 5 分鐘執行一次 cron
- `/5 8-16 * * *   root    /usr/libexec/atrun`
### crontab 命令
#### 啟動
`sudo service cron start`
#### 重新啟動
`/etc/init.d/cron restart`
#### 查詢service狀態
`sudo /etc/init.d/cron status`
#### 編輯 crontab
`crontab -e`
### `awin` 的 crontab
```
# m h day mon weekday command
*/5 * * * * /home/awin/script/clean_nextcloud.sh
```
### `root` 的 crontab
```
# m h day mon dow command
*/3 * * * * /home/awin/script/ddns.sh > /home/awin/log/ddns.log 2>&1
*/5 * * * * /home/awin/script/clean_nextcloud.sh > /home/awin/log/clean_nextcloud.log 2>&1
1 2 * * 1 /home/awin/script/backup_adguardhome.sh > /home/awin/log/backup_docker_adguardhome.log 2>&1
2 2 * * 1 /home/awin/script/backup_filebrowser.sh > /home/awin/log/backup_docker_filebrowser.log 2>&1
3 2 * * 1 /home/awin/script/backup_freshrss.sh > /home/awin/log/backup_docker_freshrss.log 2>&1
4 2 * * 1 /home/awin/script/backup_gitea.sh > /home/awin/log/backup_docker_gitea.log 2>&1
5 2 * * 1 /home/awin/script/backup_immich.sh > /home/awin/log/backup_docker_immich.log 2>&1
1 2 * * 2 /home/awin/script/backup_nextcloud.sh > /home/awin/log/backup_docker_nextcloud.log 2>&1
* * 1 * * /home/awin/script/backup_dotfiles_awin-pc2.sh > /home/awin/log/backup_dotfiles_awin-pc2.log 2>&1
1 1 * * * /home/awin/script/rsync_nasphoto.sh > /home/awin/log/rsync_nasphoto.log 2>&1
@reboot /home/awin/script/reboot_echo.sh > /home/awin/log/reboot.log 2>&1
## Restart Docker containers
# m h day mon dow command
0 4 * * * docker restart grafana-prometheus-local_data_exporter-1 > /home/awin/log/restart_grafana-prometheus-local_data_exporter-1.log 2>&1
```