перемещение сценариев данных по дате linux - PullRequest
0 голосов
/ 10 октября 2018

У нас есть скрипт, который ежедневно создает папки в следующем формате, и записи сохраняются в папке

cd ~Stage1/201809/
01/ 03/ 04/ 05/ 06/ 07/ 08/ 10/ 11/ 12/ 13/ 14/ 15/ 17/ 18/ 19/ 20/ 21/ 22/ 24/ 25/ 26/ 27/ 28/ 29/ 

cd ~media/Stage1/201810/
01/ 02/ 03/ 04/ 05/ 06/ 08/ 09/ 10/ 

Теперь мне было поручено, что если сервер достигает порогового значения в 75%, переместитеданных.Получение порога% не проблема.Как один сценарий может перемещать только папки /201809/01 /201809/02?Сценарий будет запускаться в cron ежедневно и повторяться 2 или 3 раза, пока пространство не станет меньше 75%, а затем завершится.

Код, который у меня есть до сих пор

#! /bin/bash

set -x

df -H | grep /dev/sdb1  | awk '{ print $5 " " $1 }' | while read output;   

do 
  echo $output
  usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1  )
  partition=$(echo $output | awk '{ print $2 }' )

  if [ $usep -ge 75 ]; then                                              # if the drive threshold is re$
    echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" |  # Mail
      mail -s "Alert: $(hostname) $(hostname -I) Space is @ $usep%" -t admin@admin.com # Mail
    echo "Alert: Almost out of disk space $output"

    for P in /media/Stage1; do # Incremental folder(/backup/Incremental) 

      cd $P
              for D in *; do

                find $P -type d -mtime +70 -exec echo mv -vb /media/Stage2/Recodrings/$P \;

              done
    done

  else
        echo "Nothing to do $usep"
  fi
done

exit 0
...