Создание архива с текущей датой в качестве имени папки и добавление 1, 2 и т. Д., Если папка существует
Я пытаюсь настроить этот скрипт резервного копирования так, чтобы он принимал дату текущего дня и делал каталог в формате mmddyyyy, так как это будет автоматизировано. Однако, если каталог с этим текущим днем уже существует (если мне нужно было сделать более одной резервной копии в данный день), я хочу добавить -1 или -2, чтобы он отображался 07072011-3 (если бы это было 4-й бэкап делается в тот день).
Есть ли простой способ добавить в конец имени каталога, +1 за каждый раз, когда он был написан?
Установить дату / имя папки
today="$ (date +%m%d%Y)"
mkdir /home/user/backup/$today
Проверьте, существует ли каталог
if [ ! -d /home/user/backup/$today ]
then
echo Directory already exists ;
2 ответа
Вы должны использовать DDMMYYYY? Использование ГГГГММДД проще в качестве порядка сортировки по умолчанию для ls
Затем правильно отсортировать новейшие к вершине.
Вы также можете расширить идею даты, чтобы использовать время, например
today=$( date +%Y%m%d%H)
чтобы получить ГГГГММДДЧЧ, и вы даже можете добавить%M и%S, если вам нужно.
Если вы действительно хотите придерживаться выбранного формата, вы можете сделать что-то вроде следующего:
today=$(date +%Y%m%d)
folder=$today
i=0
while [ -e /home/user/$folder ]
do
echo "${folder} exists";
i=$(( $i + 1 ))
folder="${today}-${i}"
done
echo $folder;