Как проверить, что мой файл создан в течение 10 дней в сценарии оболочки - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть несколько файлов журналов, которые названы в соответствии с датами их создания.Например;если мой файл журнала создан 12 марта 2018 года, имя файла журнала будет log-2018-03-12.log

. Вот что я хочу сделать: начиная с сегодняшней даты, я хочу проверить имя моих файлов журнала и zipфайлы журналов, которые были созданы за последние 10 дней.

Вот мой код, который архивирует все файлы журналов в определенном каталоге:

#!/bin/bash

# current time
now=$(date +"%F")

backupfile="backup-$now"
scripthome=/opt/MyStore/action_scripts/deneme/

tendaysbefore= date -d "$now - 10 days" '+%F'

for file in $scripthome;
do
    find "$(basename "$file")" | zip -R $backupfile.zip "log-2*.log"
done

Но я хочу сжать файл журнала за последние 10 дней, а не все файлы журнала, а также я хочу продолжать делать это каждые 10 дней после этого.Кроме того, после zip-файла я хочу удалить старые файлы журнала.Другими словами, я пытаюсь написать скрипт резервного копирования журнала.Можете ли вы помочь мне, пожалуйста?

Большое спасибо!

1 Ответ

0 голосов
/ 19 ноября 2018
#!/bin/bash
END=10
for ((i=1;i<=END;i++)); do
   file=log-`date -d "$i days ago" +"%F"`.log
   echo $file
done

С помощью вышеуказанного скрипта у вас есть имена файлов за последние 10 дней.Позже (внутри цикла) вы можете делать все, что захотите, добавить его в существующий zip или найти его.

Редактировать:

Следующий код может быть полезен в соответствии с вашими требованиями

#!/bin/bash

# current time
now=$(date +"%F")

backupfile="backup-$now"
scripthome=/home/bhanu/opt/MyStore/action_scripts/deneme/

tendaysbefore=`date -d "$now - 10 days" '+%F'`
for file in $scripthome;
do
        zip -r -tt $now -t $tendaysbefore "$backupfile.zip" $scripthome/log-*.log > add.log 2>&1
        zip "$backupfile.zip" -d "*" -tt $tendaysbefore > delete.log 2>&1
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...