Online video hd

Смотреть 4k видео

Официальный сайт 4stupeni 24/7/365

Смотреть видео бесплатно

xtavras 13.07.2011 13:20

Есть вопрос![Решено] Проверять свободное место при синхронизации с rsync

Привет, искал в мануале rsync но не нашел чего-то подобного, в общем нужно чтобы бы rsync перед началом работы проверял свободное место на диске и если его например меньше 10% то не начинал выполнять синхронизацию, как это можно сделать сторонними средствам? К сожалению я не скриптописатель, поэтому был бы рад уже готовым скриптам или их частям.

Спасибо aleteya и K-9, сделал вот так, может кому пригодится.

 1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash

DISK="/dev/vdb1"
MIN_AVAIL_PERCENT=10
SCRIPT="/daten/mirror.sh" #путь к скрипту для rsync


if [ $(df -P $DISK | tail -n 1 | grep -o "[0-9]*%" | grep -o "[0-9]*") -gt $MIN_AVAIL_PERCENT ]
then $SCRIPT
else echo "мало места на диске $DISK"
fi



Тэги:
+ 1 -
Похожие Поделиться

aleteya 13.07.2011 14:26 #
+ 1 -
1
2
3
4
5
6
df -h /dev/sdX | awk -F' ' '{ print $5 }' | sed 's/%//' > free_space.txt #sdX - куда будет сохраняться
FREE_SPACE="tail -n 1 free_space.txt"
   if [ $FREE_SPACE -lt 10 ] #сравнение строк не помню, надо бы сделать нормально
           then echo "do not rsync"
           else echo "all good"
   fi
aleteya 13.07.2011 14:27 #
+ 1 -
Ну и #!/bin/bash в самом начале, разумеется
aleteya 13.07.2011 14:30 #
+ 1 -
А еще и вместо "-lt 10" нужно "-lt 90".
xtavras 13.07.2011 15:15 #
+ 0 -
Спасибо, у меня выдает следующее

./free.sh: Строка 4: [: Слишком много аргументов
aleteya 13.07.2011 15:17 #
+ 3 -
1
2
3
4
5
6
7
8
9
#!/bin/bash

DISK="/dev/sda1"
MIN_AVAIL_PERCENT=10

if [ $(df -P $DISK | tail -n 1 | grep -o "[0-9]*%" | grep -o "[0-9]*") -gt $MIN_AVAIL_PERCENT ]
   then echo "on $DISK available more than $MIN_AVAIL_PERCENT percents"
   else echo "enough free space on $DISK"
fi
xtavras 13.07.2011 15:25 #
+ 0 -
Супер, спасибо огромное!
aleteya 13.07.2011 15:28 #
+ 1 -
Говори спасибо К-9, это его скрипт я привела к такому виду.
mealsforall 13.07.2011 16:47 #
+ 1 -
Или
1
2
3
4
5
6
if [[ $(df -P $DISK | awk 'BEGIN { FS="[% ]*"}; /dev/ {print $5}') -gt $MIN_AVAIL_PERCENT ]]
then
  echo "on $DISK available more than $MIN_AVAIL_PERCENT percents"
else 
  echo "enough free space on $DISK"
fi
K-9 13.07.2011 18:06 #
+ 0 -
; после if, и все должно заработать :)
K-9 13.07.2011 14:40 #
+ 1 -
А обязательно именно rsync это делать? Я бы через df сделал.
1
if [ $(df -P /dev/**sda1** | tail -n 1 | grep -o "[0-9]*%" | grep -o "[0-9]*") -gt 90 ]; then **rsync**; fi
xtavras 13.07.2011 15:17 #
+ 0 -
не, я имел ввиду как сделать так чтобы rsync это понял, средство собственно любые, спасибо, сейчас это тоже попробую.
derfenix 13.07.2011 17:31 #
+ 1 -
Решение в пост добавлять не забываем-с

Смотреть видео онлайн

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн