TGViewer
Channel Public Channel
Системный Администратор (админ)

Системный Администратор (админ)

@sysodminof

Пполезные советы, практические материалы по администрированию Linux, Windows, немного юмора, ну и за бэкап!
Subscribers
27
Photos
15
Videos
32
Links
15
Recent Posts 12 shown
Post #71 70
Пароль на папку \ .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
Post #70 59
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
Post #69 47
Команды 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
Post #68 38
Скрипт / копирование файла из сетевого хранилища в каталог 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
Post #67 35
Шифрование информации в Linux

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

Подробнее

👉 @sysodminof
  • 👍 2
Post #66 31
Команды 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
Post #65 29
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
Post #64 28
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
Post #63 23
Как найти количество открытых файлов в 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
Post #62 37
Особенности функций Mikrotik script. Сode из :parse

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

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

👉 @sysodminof
Хабр Особенности функций Mikrotik script. Сode из :parse Исследование функций и скриптов в Mikrotik script. Рассматриваются разные способы создания и вызова функций и скриптов с передачей в них параметров. Оператор :parse и особый тип данных code. 1. Что...
  • 👍 2
Post #61 34
Урок по SQL

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

Полный playlist на youtube


👉 @sysodminof
  • 👍 3
Post #51 25
Про технологии 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
Older posts →

About this channel

How can I read @sysodminof without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Системный Администратор (админ): recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Системный Администратор (админ) have?
Системный Администратор (админ) (@sysodminof) has 27 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Системный Администратор (админ) know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →