Если я не ошибаюсь, вы имеете в виду, когда имена файлов отличаются в mv файле, когда имена файлов совпадают, переименуйте более старый, добавив дату / время мода, а затем mv. Вот сценарий: первый аргумент - это исходный путь, второй аргумент - это путь назначения. Не следует добавлять косую черту в конце путей:
(Обновление: «ls» заменяется на «find» для двух целей: не для синтаксического анализа ls и для сортировки файлов по нескольким путям по дате. Переменная подстановка сделан более кратким как таковой подстановочный знак, и как пробелы, так и ":" заменены пробелами)
#!/bin/bash
sd1=$1
dd1=$2
rsync -a --ignore-existing --remove-source-files $sd1/ $dd1/
remm=`ls $sd1`
for i in $remm
do
oldest=`find {$sd1,$dd1} -type f -name $i -printf "%T@ %p\n" | sort -n | head -1 | cut -d " " -f2`
appendd=`stat $oldest --printf=%y\n | sed 's/ +.*//g' | sed 's/[ :]/_/g'`
newname="${oldest}_$appendd"
mv $oldest $newname
done
rsync -a --ignore-existing --remove-source-files $sd1/ $dd1/
cat /proc/mdstat
должно показать вам, что соответствующий RAID имеет растровое изображение. Это похоже на журнал файловой системы :. Когда происходит сбой системы (или ломается RAID ), функция синхронизации имеет место, где она может проверить, какие данные могут быть повреждены. Все остальное можно просто игнорировать. Таким образом, восстановление происходит очень быстро.
значение растровой строки
изhttps://raid.wiki.kernel.org/index.php/Mdstat
bitmap: 0/10 pages [0KB], 16384KB chunk
What would it mean when it's, eg: 23/234
This refers to the in-memory bitmap (basically a cache of what's in the on-disk bitmap − it allows bitmap operations to be more efficient).
If it's 23/234 that means there are 23 of 234 pages allocated in the in-memory bitmap. The pages are allocated on demand, and get freed when they're empty (all zeroes). The in-memory bitmap uses 16 bits for each bitmap chunk to count all ongoing writes to the chunk, so it's actually up to 16 times larger than the on-disk bitmap.