крон / удар не работает с помощью сценариев, определяя объем проблемы?

Это действительно легкий w/ pax. В нем есть понятие опции -substitution, которая может изменять имена файлов по мере их написания. Также можно указать несколько аргументов -substitution. И, что наиболее уместно, в данном случае, у выбранных членов есть только такое количество аргументов -substitution, которое необходимо для успешного выполнения одного совпадения, но любая подстановка, в результате которой имя файла становится нулевым, приводит к тому, что файл совпадения не будет выбрано.

Для демонстрации:

mkdir test; cd test
touch match nomatch
pax -ws '|^.*/match$|&|' -s '|.*||' ./ |
pax -v

Вышеуказанное делает и изменяет в каталог ./test, создает два файла, затем -wобновляет архив tar в трубу w/ pax, содержимое которой вторым pax -verbosely перечисляет. Вышеуказанное печатается:

-rw-r--r-- 1 mikeserv mikeserv 0 Feb 22 11:40 ./

...потому что ./соответствует совпадает -v с окончательной подстановкой, которая заменяет все символы в любом имени файла.

А с pax на самом деле вам не нужно копировать содержимое файла в его архив - вы можете использовать -rwl, которая является операцией копирования, создающей жесткие связи.

Итак, если ваш файл был назван paxscript и выглядел как....

cd -- "$1"
pax -rwvl \
    -s '|^.*/image1\.jpg$|&|' \
    -s '|^.*/photo3\.jpg$|&|' \
    -s '|^.*/redcar\.jpg$|&|' \
    -s '|^.*/balloon2323\.jpg$|&|' \
    -s '|.*||' ./ ../"${1##*/}.mirror"
cd - >/dev/null

... а потом вы прогнали его как...

. ./paxscript "$targetdir"

Он создал бы зеркало "$targetdir" в своем родительском каталоге, содержащем только жесткие ссылки на имена файлов, которые вы хотите сопоставить. Затем вы можете проверить результаты по своему усмотрению, прежде чем делать rm -rf "$targetdir" и избавиться только от всех нужных вам патнанов.


-1
18.03.2015, 00:04
1 ответ

Я изменил разрешения на скрипт и скрипт: chmod u + x /path/to/script.sh и смог выполнить скрипт. Я не уверен, что нужно было перейти к пользователю root, но я поменял рут на протяжении всего процесса

0
28.01.2020, 05:13

Теги

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