Как я могу удалить папки, к которым добавляют метку времени, если Вы были уже созданы в тот день?

Папки создаются каждый раз I (ре) начальная загрузка.

У них есть формат ниже: (время будет всегда варьироваться),

.mozilla_2019_01_08_08:02
.mozilla_2019_01_09_20:16
.mozilla_2019_01_10_01:16
.mozilla_2019_01_10_18:12

Здесь, я хочу смочь удалить папку .mozilla_2019_01_10_18:12, когда она создается, поскольку более ранний уже существует на... _2019_01_10. Лучше должен был бы остановить то, чтобы он был созданным, т.е. если Вы были уже созданы в тот день.

Я не могу использовать крон @daily или определенные времена, поскольку я никогда не знаю, как часто или когда компьютер будет загруженное (ре).

Как я могу сделать это в существующем сценарии?

Вот мой сценарий:

##!/bin/bash
##
# COPY .mozilla FOLDER AND LEAVE LAST 10 COPIES (1 per day?)
#                                                                                                                
sleep 30
#  
if [ -e /home/david/nas-backups/mozilla/ ]
  then
    cp -a /home/david/.mozilla /home/david/nas-backups/mozilla/
    mv /home/david/nas-backups/mozilla/.mozilla /home/david/nas-backups
    /mozilla/backups/.mozilla_$(date +%Y_%m_%d_%H:%M)

# Show result of copy message
    export DISPLAY=:0 && zenity --info --title "Backup Information Box"
    --text=".mozilla Backup Finished

    Backed up to:
    /nas-backups/mozilla/backups/" --width=600 --height=200

## Working on how to keep only first copy per day ##

# Limit to last 10 alphabetical copies (courtesy of @Vijay)
    cd ~/nas-backups/mozilla/backups
    total=$(ls -1A|wc -l); remove=$((total - 10)); rm -rv $(ls -1vA|head
   -n $remove)


# Show folder so I can manually delete extra daily copies
    nautilus /home/david/nas-backups/mozilla/backups

else

    export DISPLAY=:0 && zenity --info --title "Backup Information Box"
    --text=".mozilla backup FAILED

    - nas-backups either not mounted or not availeble" --width=450
    --height=150
fi
0
задан 11 January 2019 в 02:14

1 ответ

Одно резервное копирование в день: не создавайте больше резервных копий, если Вы существуете на сегодняшний день

, Добавляет условие, которое проверяет, не существует ли резервное копирование папка на сегодняшний день . Если нет никакой папки на сегодняшний день затем только cp, и mv будет выполняться.

Примечание * в конце второй проверки папки. Это допускает метку времени в конце имени папки, поскольку Вы сделали.

Вот фрагмент кода:

##!/bin/bash
if [ -d /home/david/nas-backups/mozilla/ ]
  then
  if [ ! -d /home/david/nas-backups/mozilla/backups/.mozilla_"$(date +%Y_%m_%d)"* ]
    then
      echo "No backups found for today: Making one"
      cp -a /home/david/.mozilla ~/nas-backups/mozilla/
      mv /home/david/nas-backups/mozilla/.mozilla ~/nas-backups/mozilla/backups/.mozilla_$(date +%Y_%m_%d_%H:%M)
    else
      echo "Backup folder for today exists. No backups will be made today"
  fi
fi

Hope это помогает

0
ответ дан 22 September 2019 в 04:44

Другие вопросы по тегам:

Похожие вопросы: