Скрипты для системных администраторов *NIX, Полезные скрипты для *NIX |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6780-й день
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
Скрипты для системных администраторов *NIX, Полезные скрипты для *NIX |
Pilson |
Dec 24 2010, 16:59
Пост
#1
|
Репутация: 383 Selachimorpha Группа: Модеры Сообщений: 2 777 С нами с: 23-May 09 |
Предлагаю в этой теме делиться различными скриптами для маленьких и не очень нужд, для облегчения жизни себе, любимым
В основном для Bash, PERL, AWK, но также приветствуется и остальное. |
Navern |
Sep 21 2012, 22:54
Пост
#2
|
Репутация: 552 Aut vincere , aut mori Группа: Пользователи Сообщений: 2 861 С нами с: 10-October 06 |
Простенький скрипт бэкапа с отправкой на почту
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « |
Pilson |
Sep 22 2012, 0:24
Пост
#3
|
Репутация: 383 Selachimorpha Группа: Модеры Сообщений: 2 777 С нами с: 23-May 09 |
Простенький скрипт бэкапа с отправкой на почту Ну раз на то пошло - вот непростенький Есть два конфига: 1. sys_backup.conf по одному архиву в одну строку имя архива, директория, кол-во хранимых бекапов, опции (nocompress или encrypt). Можно комментировать строки. Пример: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « 2. exclude.conf содержит список всего что НЕ надо архивировать (исключения). по одному файлу или вайлдкарду в строке Пример: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « Если директория - это например уже сжатые архивы, и их нужно просто перенести на бекап сервер - то используется параметр nocompress. Тогда скрипт просто копирует директорию на бекап сервер в таком виде в каком она есть. Если боитесь что по дороге до сервера трафик могут перехватить - ставите параметр encrypt. Используется асинхронное шифрование с помощью gpg через публичный ключ. Расшифровка только через приватный ключ. На данный момент реализовано использование либо шифрования, либо простого переноса директории. В будущем будет вдохновение или необходимость на работе - буду думать как использовать оба параметра одновременно. Внутри скрипта указывается путь к рабочей директории, куда будут складываться бекапы, путь к конфигам, имя gpg ключа, URL бекап сервера (используется rsync), файл с паролем для бекап сервера (дабы не светить пароль в списке процессов). Также скрипт умеет дампить mysql (можно отключить - on|off) каждую базу в отдельный файл, архивировать его на лету и шифровать, и лишь конечный результат уже пишется на диск. Т.е. перехватить промежуточный результат не получится. Пароль от mysql также не светится в списке процессов. Он сохранен в конфиге mysql сервера, и на конфиг выставляются владелец root:root и права 600, дабы никто кроме рута не имел к нему доступ. пример: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « Также скрипт устанавливает на свою рабочую директорию пользователя root:root и права 600, дабы никто кроме рута не мог туда добраться. Некоторые моменты внутри мне очень не нравятся - хочется, можно и нужно сделать элегантней, но пока лениво, да и особо некогда. Скрипт нужно запускаь от рута, и, например, через крон. Теперь, собственно - сам скрипт: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « Как создавать связку ключей - приватный и публичный - я тут не описывал. Также не описывал как сконфигурировать на сервере и запустить rsync в режиме демона. Идеи по функционалу приветствуются Сообщение отредактировал Pilson - Jan 25 2013, 23:15 |
nerve |
Mar 7 2013, 17:17
Пост
#4
|
Репутация: 282 Постоялец Группа: Пользователи Сообщений: 1 753 С нами с: 5-January 07 |
Идеи по функционалу приветствуются не совсем в тему, но проблема такая: 1) работает, отправляет NOW=`date +%d%m%y` mysqldump -u root -p123 db > /root/backup/db.dump tar czf /root/db$NOW.tar.gz -C /root/backup db.dump mutt -s "mysql db for $NOW" -a /root/db$NOW.tar.gz -- [email protected] < /root/text.txt 2) работает, отправляет, но gmail не принимает NOW=`date +%d-%m-%y` rm -rf /root/backup/*.tar.gz.* tar cz /etc/mail \ /etc/cron.d /etc/rc.d/init.d /etc/unicorn /etc/yum.repos.d \ /etc/httpd /etc/nginx /etc/sysconfig /etc/ssh \ /etc/fstab /etc/hosts ... | split -d -b 15M - /root/backup/host-$NOW.tar.gz. mutt -s "host for $NOW part 1" -a /root/backup/host-$NOW.tar.gz.00 -- [email protected] < /root/text.txt mutt -s "host for $NOW part 2" -a /root/backup/host-$NOW.tar.gz.01 -- [email protected] < /root/text.txt 2)если делать тоже самое с гзипом - то gmail принимает, но гзип следует по симлинкам в директориях, а это не подходит gzip -cr /etc/mail \ /etc/cron.d /etc/rc.d/init.d /etc/unicorn /etc/yum.repos.d \ /etc/httpd /etc/nginx /etc/sysconfig /etc/ssh \ /etc/fstab /etc/hosts ... | split -d -b 15M - /root/backup/host-$NOW.gz. mutt -s "host for $NOW part 1" -a /root/backup/host-$NOW.gz.00 -- [email protected] < /root/text.txt не пойму, что ему не нравится в tar.gz разбитом сплитом.. хелп! Сообщение отредактировал nerve - Mar 7 2013, 17:22 |
loky12 |
Mar 9 2013, 16:57
Пост
#5
|
Репутация: 57 Активист Группа: Пользователи Сообщений: 251 С нами с: 19-June 07 |
|
Упрощённая версия | Сейчас: 7th October 2024 - 10:50 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |