Системный Администратор (админ) – Telegram
Системный Администратор (админ)
28 subscribers
15 photos
32 videos
15 links
Пполезные советы, практические материалы по администрированию Linux, Windows, немного юмора, ну и за бэкап!
Download Telegram
Про технологии 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
Пароль на папку \ .htpasswd

0. редактируем конфиг апача httpd.conf
nano /etc/apache2/httpd.conf
<Directory "/var/www/folderpass">
AuthName "Введите пароль"
AuthType Basic
AuthUserFile /var/www/folderpass/.htpasswd файл с паролем
require vasya пользователь
require valid-user
</Directory>

1. Создание самого пароля
htpasswd -c /var/www/folderpass/.htpasswd vasya

PS
многие конечно знают, но решили напомнить 😉

👉 @sysodminof
👍2