У меня есть сценарий, который каждый день работает и создает резервную копию файлов, которые изменились начиная с предыдущего резервного копирования:
#!bin/bash
ext=$(date +"%Y%m%d")_ChangeS
mkdir -p "$1/$ext" && \
ionice -c3 rsync -ah --numeric-ids --inplace --backup \
--backup-dir="$1/$ext" \
--include="/etc" / "$1" && \
rmdir --ignore-fail-on-non-empty "$1/$ext"
Вы передаете в пути, где резервные копии были бы созданы, и тот каталог будет иметь список подобным этому (после того, как несколько выполнений):
20120106_ChangeS etc
$ls 20120106_ChangeS/etc/
cron.d
Вы могли изменить его немного, чтобы записывать изменения чаще или использовать inotify для инициирования измененной версии сценария, когда изменения происходят на /etc
.
С GNU находят (на Linux или Cygwin), можно искать файлы, относительный путь которых является больше чем 255 символами долго:
find -regextype posix-extended -regex '.{257,}'
(257 счетов на начальную букву ./
.)
Я нашел 2 способа сделать это:
find . | perl -pe 'print (length($_)-1)." ";' | sort -rn | less
find . | awk '{print length,$0}' | sort -rn | less
Моя первая попытка (находят. | жемчуг-pe 'печатают длину'; | вид-rn | меньше) при команде с помощью жемчуга сообщил о счетчике символов, это слишком высоко одним, поскольку я думаю, что это включает символ новой строки в свое количество? Это может, вероятно, быть сделано более чисто, чем мой выше метода, но я получил результат, в котором я нуждался.
perl -l -pe 'print length'
: -l
заставляет жемчуг автоматически снять изоляцию с символа новой строки.
– Gilles 'SO- stop being evil'
14.01.2013, 03:35
find -E . -regex ".{255,}"
перечислять относительные пути> = 253 символа. 255 макс. количество повторения, поддерживаемое механизмом RegEx встроенной находки. – DKroot 28.12.2016, 22:50