Как в bash-скрипте реализовать триггер на наличие файлов определенного типа?

Необходимо реализовать скрипт, который проводил бы создание бекапов. На приведенной схеме ниже накинул то, как я это вижу логически. Вопрос в реализации: не имею представления, каким образом в скрипте задать триггер на наличие файлов определенного типа (имя/расширение). Не могли бы подсказать возможные решения? Спасибо.

введите сюда описание изображения


Ответы (3 шт):

Автор решения: ipatev_nn
#!/bin/bash

#Выйти из скрипта если команда закончилась ошибкой
set -e
#Перменные для путей и имени файла
fileName=archive.gz
oldDir="/y_backup"
latestDir="/latest_backup"

#Проверяем файл в каталоге последних бекапов
if [[ -f ${latestDir}/${fileName} ]]; then
#Проверяем файл в каталоге старых бэкапов
    if [[ -f ${oldDir}/${fileName} ]]; then
#Удаляем старый файл бекапа
         rm -f ${oldDir}/$fileName
    fi
#Перемещаем последний файл бекапа в папку со старыми бекапами
    mv ${latestDir}/$fileName ${oldDir}/$fileName
fi
#Тут команда для создания архива в каталоге последних бекапов
you command to create backup
→ Ссылка
Автор решения: Ivan

Наличие файлов определённого типа(расширения) можно проверить простой командой ls. Допустим ваша папка для хранения бекапов /bekap, тип(расширение) файлов .bkp, тогда "триггер" проверки будет выглядеть таким образом:

ls /bekap/*.bkp &> /dev/null || echo fail

Эта команда выведет fail если в папке /bekap нет объектов содержащих .bkp в имени.

→ Ссылка