Cron備份任務

Cron備份任務

我已經脫離這個話題很久了。

前段時間,我習慣使用 crontab 以便每次執行一個任務。我需要每 30 分鐘執行一次 shell 腳本:

#!/bin/bash
SNAPSHOT=`date +%Y%m%d-%H%M%S`
docker exec es curl -XPUT "localhost:9200/_snapshot/my_backup/$SNAPSHOT?wait_for_completion=true"

我面臨兩種方法:

  1. 建立一個systemctl服務,
  2. 建立一個 crontab。

實現這一目標的最佳方法是什麼?

答案1

在您寫的評論中,您新增了一個像這樣的 cron 作業:

0,30 * * * * root docker exec es sh /usr/local/bin/snapshot.sh

從你的腳本來看,它將是:

0,30 * * * * root /usr/local/bin/snapshot.sh

這樣,您的腳本將被root正確執行。並且/var/log/cron您將擁有:Jan 20 05:30:01 platform-prod CROND[16409]: (root) CMD (root /usr/local/bin/snapshot.sh)

相關內容