Системный Администратор (админ) – Telegram
Системный Администратор (админ)
28 subscribers
15 photos
32 videos
15 links
Пполезные советы, практические материалы по администрированию Linux, Windows, немного юмора, ну и за бэкап!
Download Telegram
Про технологии Veeam

VBR. Продвинутая репликация. Создание первичной реплики с помощью Replica Seeding и Replica Mapping.
VBR. Продвинутая репликация. Как работает репликация из резервных копий?
VBR. Репликация. Как работает репликация? Создание задания на репликацию.
VBR.NAS. Восстановление данных из резервной копии NAS
VBR.Инфраструктура. Что такое технология Fast Clone?
VBR.Инфраструктура. Что такое защищенный репозиторий?
Создание и обработка запроса на запуск ВМ в тестовой лаборатории
Восстановление данных из Enterprise Manager
Создание резервных копий при помощи агентов
Восстановления данных с ленточных носителей

источник

👉 @sysodminof
👍2
Про технологии Veeam

Как создать задание архивирования на ленту Backup to Tape и File to Tape
Создание и работа с SureBackup Jobs
Создание Application Groups
Создание Veeam Virtual Labs
Установка агента для Linux и его использование
Настройка и работа Veeam Backup для Microsoft Office 365 с объектным репозиторием
Установка Veeam Backup Enterprise Manager
Установка и первичная настройка Veeam Backup для Microsoft Office 365
Что такое Backup Repository
Capacity Tier в SOBR

источник

👉 @sysodminof
👍2
Media is too big
VIEW IN TELEGRAM
Урок по SQL

#1 Select
#2 Distinct
#3 Сортировка
#4 Transact SQL
#5 Логические операторы
#6 Функции
#7 Объединение двух таблиц
#8 Запрос Insert
#9 Запрос Update
#10 ALTER TABLE

Полный playlist на youtube


👉 @sysodminof
👍3
Особенности функций Mikrotik noscript. Сode из :parse

Исследование функций и скриптов в Mikrotik noscript. Рассматриваются разные способы создания и вызова функций и скриптов с передачей в них параметров. Оператор :parse и особый тип данных code.

https://habr.com/ru/post/650795/

👉 @sysodminof
👍2
Как найти количество открытых файлов в Linux

Значение сохраняется в
# cat /proc/sys/fs/file-max

Проверка Hard лимит в Linux
# ulimit -Hn

Проверка Soft лимит в Linux
# ulimit -Sn

Чтобы просмотреть значения Hard и Soft для разных пользователей, переключите пользователя с «su» на пользователя, ограничения которого вы хотите проверить.
Например:
# su root
$ ulimit -Sn
$ ulimit -Hn


Как проверить количество системных дескрипторов файлов в Linux
На серверах, некоторые из ваших приложений могут потребовать более высокий лимит для открытых дескрипторов файлов. Хорошим примером этого являются службы MySQL / MariaDB или веб-сервер Apache.

Вы можете увеличить лимит открытых файлов в Linux, отредактировав опцию ядра fs.file-max. Для этого используйте утилиту sysctl.

Sysctl используется для настройки параметров ядра.

Например, чтобы увеличить ограничение на количество открых файла до 500000, вы можете использовать следующую команду:
# sysctl -w fs.file-max=500000

Вы можете проверить текущее значение для количества открытых файлов с помощью следующей команды:
$ cat /proc/sys/fs/file-max

С помощью указанной команды изменения, которые вы внесли, будут оставаться активными только до следующей перезагрузки. Если вы хотите применить их на постоянной основе, вам придется отредактировать следующий файл:
# vi /etc/sysctl.conf

Добавьте следующую команду:
fs.file-max=500000

Конечно, вы можете изменить число в соответствии с вашими потребностями. Чтобы снова проверить изменения, используйте:
# cat /proc/sys/fs/file-max

Чтобы изменения вступили в силу, пользователям необходимо будет выйти из системы и снова войти в систему. Если вы хотите немедленно применить ограничения, вы можете использовать следующую команду:
# sysctl -p

Установка количества открытых файлов для пользователя в Linux
Вышеприведенные примеры показали, как установить ограничения, но вы можете установить лимит для каждого пользователя. Для этой цели, с правами пользователя root, вам необходимо отредактировать следующий файл:
# vi /etc/security/limits.conf

Если вы администратор Linux, предлагаем Вам ознакомиться с этим файлом. Прочитайте все комментарии в нем, поскольку он обеспечивает гибкость в плане управления системными ресурсами путем установки лимита пользователям на разных уровнях.

Команды, которые вы должны добавить, имеют следующие параметры:
<domain>        <type>  <item>  <value>

Вот пример установки Soft и Hard лимитов для пользователя dimon:
## Example hard limit for max opened files
dimon hard nofile 4096
## Example soft limit for max opened files
dimon soft nofile 1024



👉 @sysodminof
👍2
Linux: делаем скриншот и отправляем его на электронную почту

Для успешной работы скрипта необходимо сначала установить: ssmtp(обязательно настроить), mpack и scrot


#!/usr/bin/env bash
# Важно! Для работы скрипта необходимо установить и настроить ssmtp, mpack и scrot
# путь к директории со скриншотами
dirpath=/home/$USER/screenshots
# проверяем наличие директории (если нет, то создаем). Делаем скриншот с названием по маске: ДД-ММ-ГГ_ЧЧ-ММ-СС.jpg
if [[ -d $dirpath ]]; then
scrot '%d-%m-%Y_%H-%M-%S.jpg' -e "mv \$f $dirpath"
screenshot=$(find "$dirpath" -name "*.jpg")
else
mkdir -p "$dirpath"
scrot '%d-%m-%Y_%H-%M-%S.jpg' -e "mv \$f $dirpath"
screenshot=$(find "$dirpath" -name "*.jpg")
fi
# отправляем письмо на почту
echo "Скриншот с сервера: $HOSTNAME" > $dirpath/message_body.txt
mpack -s "Скриншот" -d $dirpath/message_body.txt $screenshot your_login@mail.ru
# удаляем скриншот
rm -f $screenshot



👉 @sysodminof
👍3
Batch-скрипт. Устаналивает портабельную программу с сетевого диска на локальный диск пользователя и выводит ярлык на рабочий стол.

Отредактированный под себя скрипт нужно прикрепить с помощью GPO в домене, как сценарий запуска при старте системы. Логи по установке пишутся на сетевой диск в отдельную папку.

@echo off
rem меняем кодировку чтобы использовать кириллицу
chcp 1251 >nul
rem указываем директорию с программой для копирования (в нашем случае на сетевом диске М)
set old_dir="M:\Programs\ExampleProgramPortable"
rem указываем директорию куда копировать программу (в нашем случае в корень диска С)
set new_dir="C:\ExampleProgramPortable"
rem если директория уже существует пишем запись в лог (дата, время, файл называется именем пользователя), в противном случае копируем программу в директорию new_dir
rem копируем ярлык программы в общую папку для всех пользователей, чтобы вывести на рабочий стол
rem переименовываем ярлык кириллицей (если нужно)
rem делаем запись в лог
If Exist "%new_dir%\*.*" (
echo %date% %time:~-11,8% DIR exist already >> M:\logs\%username%.txt
) Else (
xcopy %old_dir% %new_dir% /i /e /h /y
xcopy "C:\ExampleProgramPortable\example_program.lnk" C:\Users\Public\Desktop
rename "C:\Users\Public\Desktop\example_program.lnk" Программа.lnk
echo %date% %time:~-11,8% Example Program install successful >> M:\logs\%username%.txt
)

👉 @sysodminof
👍2
Команды Linux: Файлы и директории.

cd /home — перейти в директорию '/home'
cd .. — перейти в директорию уровнем выше
cd ../.. — перейти в директорию двумя уровнями выше
cd — перейти в домашнюю директорию
cd ~user — перейти в домашнюю директорию пользователя user
cd - — перейти в директорию, в которой находились до перехода в текущую директорию
pwd — показать текущую директорию
ls — отобразить содержимое текущей директории
ls -F — отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип
ls -l — показать детализированное представление файлов и директорий в текущей директории
ls -a — показать скрытые файлы и директории в текущей директории
ls *[0-9]* — показать файлы и директории содержащие в имени цифры
tree или lstree — показать дерево файлов и директорий, начиная от корня (/)
mkdir dir1 — создать директорию с именем 'dir1'
mkdir dir1 dir2 — создать две директории одновременно
mkdir -p /tmp/dir1/dir2 — создать дерево директорий
rm -f file1 — удалить файл с именем 'file1'
rmdir dir1 — удалить директорию с именем 'dir1'
rm -rf dir1 — удалить директорию с именем 'dir1' и рекурсивно всё её содержимое
rm -rf dir1 dir2 — удалить две директории и рекурсивно их содержимое
mv dir1 new_dir — переименовать или переместить файл или директорию
cp file1 file2 — скопировать файл file1 в файл file2
cp dir/* . — копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 . — копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2 — копировать директорию dir1 в директорию dir2
ln -s file1 lnk1* — создать символическую ссылку на файл или директорию
ln file1 lnk1 — создать «жёсткую» (физическую) ссылку на файл или директорию
touch -t 0712250000 fileditest — модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)

👉 @sysodminof
👍2
Шифрование информации в Linux

С зарождением цивилизации появилась необходимость передачи информации между людьми. При чём таким способом, чтобы эта информация не стала доступной третьим лицам.

Подробнее

👉 @sysodminof
👍2
Скрипт / копирование файла из сетевого хранилища в каталог c:\users\public\desktop\ на разные ПК

как оно работает:

c:\users\public\desktop\ ---- файлы из этого каталога будут видны всем пользователям на данном пк
chcp 1251 >nul --- нужно для решение проблемы с кодировкой
set listfile=host.txt --- список компов (комп = одна строка)

for /f "tokens=1" %%i in (%listfile%) do call :procedure %%i - цикл (проходит по списку)

:procedure

copy "\\fileserv\files\file1.lnk" "\\%1\c$\users\public\Desktop\" - выполнение команды


Создаем файл copy_file_for_desktops_users.cmd

chcp 1251 >nul
set listfile=host.txt

for /f "tokens=1" %%i in (%listfile%) do call :procedure %%i

:procedure

copy "\\fileserv\files\file1.lnk" "\\%1\c$\users\public\Desktop\"


Создаем файл host.txt

KOMP1
KOMP2
KOMP3
KOMP4
KOMP5
KOMP6

👉 @sysodminof
👍2🤝1
Команды Linux: IPTABLES (firewall)

iptables -t filter -nL
iptables -nL — отобразить все цепочки правил
iptables -t nat -L — отобразить все цепочки правил в NAT-таблице
iptables -t filter -F или iptables -F — очистить все цепочки правил в filter-таблице
iptables -t nat -F — очистить все цепочки правил в NAT-таблице
iptables -t filter -X — удалить все пользовательские цепочки правил в filter-таблице
iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT — позволить входящее подключение telnet'ом
iptables -t filter -A OUTPUT -p tcp --dport http -j DROP — блокировать исходящие HTTP-соединения
iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT — позволить «прокидывать» (forward) POP3-соединения
iptables -t filter -A INPUT -j LOG --log-prefix "DROP INPUT" — включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT»
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE — включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми IP-адресами.
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22 — перенаправление пакетов, адресованных одному хосту, на другой хост

👉 @sysodminof
👍2
NFS \ Rsync \ Backup

NFS сервер:
на сервер ставим apt-get install nfs-kernel-server nfs-common portmap
/usr/allbackup тут все будут бэкапы
nano /etc/exports тут ставим какие нужны каталоги
/usr/allbackup/name_catalog ip_clienta(rw,sync,no_root_squash,no_subtree_check)
применить команду exportfs -a


NFS на клиенте:
apt-get install nfs-common portmap rsync
mkdir /nfs/name_catalog -p
nano /etc/fstab
ip_server:/usr/allbackup/name_catalog /nfs/name_catalog nfs rw,sync,hard,intr 0 0


Создаем каталоги для бэкапа:
mkdir -p /root/backup/{www,etc,sql}


Скрипт для бэкапа:
touch /root/backupwww
----------------------------------------
#!/bin/bash
#[Changes Directory]
cd /root/backup
#[Stamps the file name with a date]
TIMESTAMP=`date +%m-%d-%y-%H%M`
#[DB Backup Scripts]
# DB Name
HOST=localhost
DBNAME="basename"
USER="username"
PASSWORD="password"
DUMP_PATH=/root/backup/sql
BACK_PATH=/root/backup/www
BACK_PATH3=/root/backup/etc
#dbname
mysqldump --opt -c -e -Q -h$HOST -u$USER -p$PASSWORD $DBNAME > $DBNAME.sql
tar czpf $DUMP_PATH/$DBNAME.$TIMESTAMP.tar.gz $DBNAME.sql
rm -f $DBNAME.sql
#Backing up files
tar cvzpf $BACK_PATH/www.$TIMESTAMP.tar.gz --same-owner --exclude=/var/www/site/gruzims/* /var/www
tar cvzpf $BACK_PATH3/etc.$TIMESTAMP.tar.gz /etc
-----------------------------------------


Cкрипт стиралки:
touch /root/delbackup
-----------------------------------------
#!/bin/bash
cd /var/backup/
find /var/backup/mysql -name "*.tar.gz" -mtime +30 |xargs /bin/rm -f {};
find /var/backup/www -name "*.tar.gz" -mtime +30 |xargs /bin/rm -f {};
----------------------------------------


Настройка crontab:
crontab -e
----------------------------------------
0 5 * * * /usr/bin/rsync -a /root/ /nfs/folder синхронизируем бэкапы на сервер nfs
0 2 * * * /root/backupwww скрипт бэкапа
----------------------------------------

👉 @sysodminof
👍2