04.02.2019 20:47
OlegON
 
Достаточно часто, например, для смены компрессии на ZFS необходимо перезаписать файлы, причем, не всегда есть возможность оттащить их куда-то целиком, чтобы потом вернуть. Накидал простейший скриптик, он не без недочетов, но выполняет задачу.

Код:
#!/bin/bash
target=/директория с файлами
tmpf=/временный файл
find "$target" -type f | while read fff
do
cp -fp "$fff" "$tmpf" && cp -fp "$tmpf" "$fff" && rm -f "$tmpf" && echo $fff 
done
суть проста, файл копируется во временный, потом из него - обратно.
05.02.2019 09:13
vdm
 
Результат первого копирования проверять надо бы.
Если временный файл существует и недоступен на запись - плохо будет.
05.02.2019 09:23
OlegON
 
да, я не подчеркнул, скрипт опасный, поэтому надо тестировать сначала в ваших условиях...

с проверкой согласен, лишней не будет, поправил

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.