Заметки на полях

Материал из Rosalab Wiki
Версия от 23:53, 24 октября 2022; Noname (обсуждение | вклад) (Новая страница: «== btrfs - файловая система == === Создание резервной копии снимка btrfs === Создаем read-only снимок -…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

btrfs - файловая система

Создание резервной копии снимка btrfs

Создаем read-only снимок - send требует, чтобы отправляемый снимок был read-only

   # btrfs subvolume snapshot -r /mnt/@ /mnt/ss/@-ss-date-main
   # sync
   # btrfs send /mnt/ss/@-ss-date-main | zstd -16 -T0 -vv -o /files/.backups/root-distr-date-main.btrfs.zst

Восстановление из снимка будет производиться как-то так:

   # zstd -d /files/.backups/root-distr-date-main.btrfs.zst | btrfs receive /path
   # sync

ubuntu-wiki: btrfs#снимки


chattr - изменение атрибутов файла/каталога

   # chattr +i /path/to/file
   # chattr -i /path/to/file

атрибут +i запрещает любое изменение, переименование и удаление файла/каталога, -i - разрешает.


exiftool - изменение метаданных изображений

Удалить метаданные фото

   $ exiftool -all= *

В росе нужно установить пакет perl-Image-ExifTool


find - поиск файлов

найти исполняемые файлы с шаблоном *.zip

   $ find /path -type f -perm /a=x -name '*.zip'

найти исполняемые файлы и напечатать

   $ find /path -type f -perm /a=x

найти исполняемые файлы и сделать неисполняемыми

   $ find /path -type f -perm /a=x -exec chmod -x '{}' \;

найти все файлы и напечатать

   $ find /path -type f -print

найти все файлы и вывести их кол-во

   $ find /path -type f -print | wc -l

найти файлы по шаблону и показать их суммарный размер

   $ find /path -type f -name "Dana*" -print0 | xargs -0 du -ch | tail -n 1 | awk '{print $1}'

найти все файлы, подсчитать хеш-сумму и записать результат в файл

   $ find /path -type f -print0 | xargs --null md5sum > /tmp/listsums

найти файлы по шаблону и удалить их

   $ find /path -type f -name "*.directory" -exec rm {} \;

найти все файлы в текущем каталоге и получить все доступные ссылки из расширенных аттрибутов (необходимо установить пакет attr)

   $ find . -maxdepth 1 -type f -print0 | xargs -0 getfattr -d | grep -e 'origin.url' | awk -F "\"" '{print $2}'

не учитывать регистр при поиске

   $ find /path -type f -iname '*name-file*' 

рекурсивный расчет контрольных сумм файлов каталога

   $ find /path -type f -print0 | xargs --null md5sum

исключить из поиска определенную директорию

   $ find . -type f -not -path './dir/*' -iname name

найти все файлы и каталоги принадлежащие указанному uid и изменить uid и gid

   # find /path -uid 500 -print0 | xargs -0 sudo chown -h 1000:1000
   # find /path -uid 500 -exec sudo chown -h 1000:1000 '{}' \;

find и rsync

   $ find . -type d -printf "%P\n" | rsync -avn --delete --exclude-from=- . ../output_dir/

т.к. параметр **--delete** не работает с **--no-recursive** исключать директории нужно с помощью программы **find** и параметра **--exclude-from**

   $ rsync -avn --delete --exclude-from=<(find . -type d -printf "%P\n") . ../output_dir/