нужен совет по настройке моего первого сервера [закрыто]

Лучше (самый быстрый и без использования места для хранения путем копирования вместо перемещения), также не зависит от имен файлов, если они содержат специальные символы в своих names:

export destination
find "$soure" -type f "-$days" -print0 | xargs -0 -n 10 bash -c '
for file in "$@"; do
  echo -n "Moving $file to $destination/"`dirname "$file"`" ... "
  mkdir -p "$destination"/`dirname "$file"`
  \mv -f "$file" "$destination"/`dirname "$file"`/ || echo " fail !" && echo "done."
done'

Или быстрее, перемещение группы файлов за одно и то же время для нескольких процессоров, используя команду "parallel":

echo "Move oldest $days files from $soure to $destination in parallel (each 10 files by "`parallel --number-of-cores`" jobs):"
function move_files {
  for file in "$@"; do
    echo -n "Moving $file to $destination/"`dirname "$file"`" ... "
    mkdir -p "$destination"/`dirname "$file"`
    \mv -f "$file" "$destination"/`dirname "$file"`/ || echo " fail !" && echo "done."
  done
}
export -f move_files
export destination
find "$soure" -type f "-$days" -print0 | parallel -0 -n 10 move_files

PS: У вас есть опечатка, "soure" должен быть "source". Я сохранил имя переменной.

-2
02.10.2013, 18:01
0 ответов

Теги

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