os:linux:utils
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
os:linux:utils [19.08.2024 07:46] – [logrotate] viacheslav | os:linux:utils [18.03.2025 19:48] (текущий) – [read] viacheslav | ||
---|---|---|---|
Строка 311: | Строка 311: | ||
# Отключить ошибки, | # Отключить ошибки, | ||
find / -name ' | find / -name ' | ||
+ | # Удалить файлы business-* старше 14 дней в каталогах business-* | ||
+ | find "/ | ||
+ | # Создать подкаталог old, заархивировать файлы (нерекурсивно) старше вчерашнего дня, удалить оригиналы, | ||
+ | mkdir -p / | ||
+ | find / | ||
+ | xargs tar czf / | ||
+ | find / | ||
</ | </ | ||
The command termination '' | The command termination '' | ||
Строка 326: | Строка 333: | ||
https:// | https:// | ||
+ | ===== gzip ===== | ||
+ | pigz - многопоточный gzip. Умеет также работать с zip и zlib (.zz). | ||
+ | <code bash> | ||
+ | # Не удалять оригинал, | ||
+ | pigz -k -9 -p4 archlinux.iso | ||
+ | # Показать содержимое архива | ||
+ | pigz -l archlinux.iso.gz | ||
+ | # Сжать в zip | ||
+ | pigz -k -K archlinux.iso | ||
+ | # Сжатие каталогов, | ||
+ | tar cf - Pictures/ | pigz > pictures.tar.gz | ||
+ | tar -I pigz -cf yourfile.tar.gz folder1 folder2 | ||
+ | # Распаковать | ||
+ | pigz -d archlinux.iso.gz | ||
+ | </ | ||
+ | https:// | ||
===== hdparm ===== | ===== hdparm ===== | ||
hdparm - get/set hard disk parameters | hdparm - get/set hard disk parameters | ||
Строка 364: | Строка 387: | ||
https:// | https:// | ||
- | :!: Параметры вне каталогов глобальны и применяются к logrotate в целом, а не только к файлу, где они указаны! | + | :!: Параметры вне каталогов глобальны и применяются к logrotate в целом, а не только к файлу, где они указаны!\\ |
+ | Поэтому повторяющиеся параметры нужно писать в каждом каталоге. | ||
<code bash> | <code bash> | ||
/ | / | ||
{ | { | ||
- | # Выполнять от юзера и группы admin | + | |
+ | daily # архивировать каждый день | ||
+ | rotate -1 # не удалять архивы | ||
+ | olddir old # Помещать архивы в подкаталог old каталога, | ||
+ | createolddir # если каталога olddir нет - создать | ||
+ | compress # сжимать | ||
+ | missingok # если лога нет - ничего страшного | ||
+ | |||
+ | copytruncate # Не удалять файл, а обнулить его, архивируя содержимое (чтобы процесс мог писать в него дальше) | ||
+ | dateext # Помечать архив датой | ||
+ | dateformat .%Y-%m-%d-%s # Формат даты, тут будет нечто вроде file-2024-08-08-1234567.1.log.gz | ||
+ | maxsize 1G # Архивировать чаще, чем daily, если лог достиг 1 ГБ | ||
+ | } | ||
+ | |||
+ | / | ||
+ | / | ||
+ | { | ||
su admin admin | su admin admin | ||
- | # архивировать каждый день | ||
daily | daily | ||
- | # не удалять архивы | ||
rotate -1 | rotate -1 | ||
- | # Помещать архивы в подкаталог old каталога, | ||
olddir old | olddir old | ||
- | # если каталога olddir нет - создать | ||
createolddir | createolddir | ||
- | # сжимать | ||
compress | compress | ||
- | # если лога нет - ничего страшного | ||
missingok | missingok | ||
- | + | minage | |
- | # Не удалять файл, а обнулить его, архивируя содержимое (чтобы процесс мог писать в него дальше) | + | |
- | copytruncate | + | |
- | # Помечать архив датой | + | |
- | dateext | + | |
- | # Формат даты, тут будет нечто вроде file-2024-08-08-1234567.1.log.gz | + | |
- | dateformat .%Y-%m-%d-%s | + | |
- | # Архивировать чаще, чем daily, если лог достиг | + | |
- | maxsize 1G | + | |
- | } | + | |
- | + | ||
- | / | + | |
- | / | + | |
- | { | + | |
- | | + | |
- | minage 1 | + | |
} | } | ||
</ | </ | ||
Строка 534: | Строка 553: | ||
echo " | echo " | ||
srv-mail1 | srv-mail1 | ||
+ | |||
+ | # Разделить строку на 2 части | ||
+ | $ i=" | ||
+ | $ read -r tag description <<< | ||
+ | $ echo $tag | ||
+ | v2.2.187 | ||
+ | $ echo $description | ||
+ | 3826893 Very important commit, absolutely brilliant | ||
+ | </ | ||
+ | [[https:// | ||
+ | ===== rm ===== | ||
+ | remove files or directories | ||
+ | <code bash> | ||
+ | # Удалить всё, в т. ч. файлы с точками в начале имени | ||
+ | rm -rf -- ..?* .[!.]* * | ||
</ | </ | ||
Строка 542: | Строка 576: | ||
# если без звёздочки (или без /), то будет скопирован сам каталог conf.d как подпапка | # если без звёздочки (или без /), то будет скопирован сам каталог conf.d как подпапка | ||
rsync --info=progress2 --recursive user@10.1.0.9:/ | rsync --info=progress2 --recursive user@10.1.0.9:/ | ||
+ | |||
+ | # -a - " | ||
+ | # -c - считать контрольные суммы. Большие файлы бьются на куски, и суммы считаются для кусков. | ||
+ | # -P - прогресс | ||
+ | rsync -a -c -P < | ||
+ | |||
+ | # --ignore-existing - если имя файла есть в < | ||
+ | # -u - " | ||
+ | rsync -a -P -u --ignore-existing < | ||
</ | </ | ||
https:// | https:// | ||
- | https:// | + | https:// |
+ | https:// | ||
===== sed ===== | ===== sed ===== |
os/linux/utils.1724053607.txt.gz · Последнее изменение: 19.08.2024 07:46 — viacheslav