Я хочу настроить этот сценарий резервного копирования, чтобы взять дату текущего дня и сделать каталог в формате 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 ;
Если вы действительно хотите придерживаться выбранного формата, вы можете сделать что-то вроде следующего:
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;
Вам нужно использовать ДДММГГГГ? ГГГГММДД проще в качестве порядка сортировки по умолчанию для ls
затем правильно отсортирует самые новые в начало.
Вы также можете расширить идею даты, чтобы использовать время, например.
today=$( date +%Y%m%d%H)
чтобы получить ГГГГММДДЧЧ, и вы даже можете добавить% M и% S, если вам нужно.