簡體   English   中英

如何備份crontab中列出的所有文件

[英]How do i backup all files listed in crontab

我正在嘗試備份crontab條目結構和在crontab下運行的文件。

但是我對如何在crontab -l搜索文件並復制在其下運行的腳本感到困惑。

我可能的方法

我已經列出

crontab -l > test.txt 

cat test.txt 

但是列出后如何搜索文件。

我的輸入如下:

# daily pingback report
30 1 * * * php /var/opx/cron-script/daily-email-reports/pingback_report.php | curl --data-binary @- https://pxc.com/email/send

# --------------------------------------------------------------------------------------------------
# daily jobs 02+ hours
# --------------------------------------------------------------------------------------------------

# daily Failed Device Search
0 2 * * *  /var/opx/cron-script/failed_device_search.sh

# daily Device Not Detected (we are not getting any of these, so commenting out)
# 5 2 * * *  /var/opx/cron-script/device_not_detected.sh

    # daily Failed App Search (we are not getting any of these, so commenting out)
    # 10 2 * * *  /var/opx/cron-script/failed_app_search.sh

    # daily oss event report (uncomment when dev db issue is fixed)
    10 3 * * * /var/opx/cron-script/event-analysis/daily-oss-event-report

    # Copy tomcat logs from s1 and s2 , compress them and move to S3 storage
    #30     21      *       *       *       /var/opx/cron-script/log_backup.sh

我想復制在這些條目中運行的腳本。

嘗試這個:

for part in $(sed 's/#.*//' test.txt | while read t1 t2 t3 t4 t5 main; do echo $main; done); do
  echo $part
done | grep / | grep -v ://

對於您的示例,將輸出:

/var/opx/cron-script/daily-email-reports/pingback_report.php
/var/opx/cron-script/failed_device_search.sh
/var/opx/cron-script/event-analysis/daily-oss-event-report

我不為此感到驕傲,但它是可移植的外殼,似乎可以滿足您的要求。 對於更復雜的情況,或者為了處理crontab中可能存在的更晦澀的單詞,您可能需要一個更智能的解析器。

如果有人想備份cron的文件,這對我的腳本很有用

#!/bin/bash

    #This Script use for backup of crontab files and entries
    #Modify as per your need

    mkdir -p /mnt/cron_backups
    for part in $(crontab -l | grep -v "clientmqueue" | sed 's/#.*//' | while read t1 t2 t3 t4 t5 main; do echo $main; done); do
      echo $part
    done | grep / | grep -v :// | while read -r row
                                      do
                                        scp $row /mnt/cron_backups/
                                        crontab -l > /mnt/cron_backups/backup_cron.txt 
                                        tar -cvzf  /mnt/cron_backups.tar.gz /mnt/cron_backups/

                                      done
    # grep -v is used for ignoring specific script with specific words or character 

多虧約翰...。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM