Как скопировать определенное количество отсортированных файлов? (например, 11 ГБ)

Решено!

У меня есть сервис, который использует drbd для хранения данных.
Моя первая цель состояла в том, чтобы увеличить размер drbd, сохранив при этом этот сервис.
К сожалению, мне нужно было остановить эту службу, и впоследствии я сделал то же самое в своем вопросе, изменив /dev/vg_DRBD/lv_DRBD на /dev/drbd0.

@Matt Kereczman спасибо!!

1
04.06.2017, 22:48
1 ответ

Я уверен, что есть лучший способ сделать это. LIMIT — количество копируемых файлов в килобайтах.

#! /bin/bash 

LIMIT='11534336'
size='0'

if [[ -e $1 && -d $2 ]];then
  echo "copying contents from $1 to $2"
else
  echo "Usage: $0 SOURCE DEST"
  exit
fi  

for i in $(ls -t $1); do
  var="$(echo $(du -s $(realpath $1/$i)))"
  IFS=" " read var1 var2 <<< "$var"
  let "size += $var1"
  if [[ $size -lt $LIMIT ]];then
    echo "copying " $var2 "to $2"
    cp -r $var2 $2
  else
    exit
  fi  
done
0
28.01.2020, 00:55

Теги

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