#admin_FAQ
7 subscribers
31 links
Download Telegram
#Создание БД для Битрикс

mysql -u root -p -h localhost

SHOW DATABASES;

CREATE DATABASE newdb;

CREATE USER 'bitrixuser'@'localhost' Identified by 'ПАРОЛЬ';

GRANT ALL on *.* to 'bitrixuser'@'localhost';

GRANT all ON newdb.* to bitrixuser@localhost;
FLUSH PRIVILEGES;
quit
👍1
sudo пользователю на запуск приложения

nano /etc/sudoers
"пользователь" ALL = (ALL) NOPASSWD: /opt/Validata/VDCSP/bin/amd64vdcsp_cfg


запускать: sudo приложение
👍1
#Обновление ядра Astra Linux

apt install linux-image-generic
#домен
#добавление в группу

Add-ADGroupMember -Identity 'FILE_DomainUsers' -Members (Get-ADGroupMember -Identity 'Пользователи домена')
iptables

скопировать по ssh:
scp -P ПОРТ root@хх.хх.хх.хх:/etc/iptables.rules /home/ПОЛЬЗОВАТЕЛЬ/iptables.rules


выгрузить строкой:
iptables-save > /etc/iptables.rules

импортировать строкой:
iptables-restore < /etc/iptables.rules
pg_probackup и S3

создаем конфигурационные файлы для подключения к каждому bucket S3
nano /home/backup/scripts/s3-conf/ptc-buhdu-contracts.s3

access-key = XXXXXXXXXXXXXXXXXXXXXXXXX
secret-key = XXXXXXXXXXXXXXXXXXXXXXXXX
s3-host = s3db.domain.ru
s3-port = 9000
s3-bucket = ptc-buhdu-contracts
s3-buffer-size = 32
s3-secure = https


просмотр копий pgprobackup на s3:
/opt/pgpro/ent-17/bin/pg_probackup show -B / --s3=minio --s3-config-file=/home/backup/scripts/s3-conf/ptc-buhdu-contracts.s3

восстановление БД из S3:
#!/bin/bash
#restore HRM
old_basename='PTC'
new_basename='HRM'
serviceport='5432'
my_pgdata='/mnt/instance_1'
backup_dir='/ --s3=minio --s3-config-file=/home/backup/scripts/s3-conf/ptc-buhdu-contracts.s3'
restore_host='db8-1c-prod.rshb-am.ru'

ssh postgres@${restore_host} 'sudo systemctl stop postgrespro-ent-17-'${new_basename}'.service'
ssh postgres@${restore_host} 'rm -rf /mnt/'${new_basename}'/{*,.*}'
/opt/pgpro/ent-17/bin/pg_probackup restore -B ${backup_dir} --instance=${old_basename} --remote-host=${restore_host} --remote-user=postgres --pgdata ${my_pgdata} -j 10 --no-validate

ssh postgres@${restore_host} "sed -i 's#port = 5432#port = ${serviceport}#g' /${my_pgdata}/postgresql.conf"
ssh postgres@${restore_host} "sed -i 's#${old_basename}#${new_basename}#g' /${my_pgdata}/postgresql.conf"

ssh postgres@${restore_host} 'sudo systemctl start postgrespro-ent-17-'${new_basename}'.service'
Установка агента Cloud Backup на ВМ
для настройки резервного копирования на Yandex Cloud

apt-get update
update-kernel
apt-get install kernel-modules-staging-un-def
apt-get install -y jq
curl https://storage.yandexcloud.net/backup-distributions/agent_installer.sh | bash

Политики резервного копирования:
https://console.yandex.cloud/folders/b1gid9oico6uehb8jpri/backup/policies

Мониторинг создания копии:
https://console.yandex.cloud/folders/b1gid9oico6uehb8jpri/backup/instances
ftp-сервер

установка:
apt-get install vsftpd -y
systemctl start vsftpd


конфиг ftp сервера /etc/vsftpd.conf
anonymous_enable=NO
user_sub_token=$USER
local_root=/home/$USER/ftp
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=NO
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log

rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.key
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
hide_ids=YES
max_per_ip=10
max_clients=10
port_enable=YES
pasv_enable=YES
pasv_min_port=11000
pasv_max_port=11030
require_ssl_reuse=NO
ssl_ciphers=HIGH
seccomp_sandbox=NO


изменения в файле /etc/xinetd.d/vsftpd
disable   = no      #включает сервис


Перезапустить сервис
service xinetd restart

Установить запуск сервиса xinetd при загрузке системы
chkconfig xinetd on


/etc/vsftpd/user_list
ftpupload
admin



При использовании ftps:
500 OOPS: SSL: ssl_enable is set but SSL support not compiled in

в пакете ftp для alt linux нет поддержки SSL
#postgres
Создание пользователя postgres
Назначение прав на схему и таблицы

select * from pg_user;

CREATE USER pixbi WITH PASSWORD 'ПАРОЛЬ';
ALTER ROLE pixbi WITH PASSWORD 'ПАРОЛЬ';
GRANT SELECT ON ALL TABLES IN SCHEMA public TO pixbi;

GRANT CONNECT ON DATABASE "PIF" TO pixbi;
\c PIF
GRANT USAGE ON SCHEMA public TO pixbi;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO pixbi;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO pixbi;
# веб-сервер
# размер файла для загрузки

client_body_buffer_size — директива в Nginx, которая задаёт размер буфера для чтения тела запроса клиента.

изменение параметра в /etc/nginx/nginx.conf
client_body_buffer_size         50m

Это важно для обработки данных, отправленных клиентом на сервер, например:
загрузок файлов (изображений, видео, документов);
данных форм с большими объёмами текста или несколькими полями;
запросов POST (данных, отправленных на сервер в теле запроса, часто используемых в API).

внесение параметров проблему не решало, но также необходимо в /etc/php/8.2/apache2-mod_php/php.ini:
upload_max_filesize, post_max_size, max_file_uploads
#dc
#контроллер домена
#dhcp
#фильтры

Выгрузка mac и имен ПК с DHCP сервера:
Export-DhcpServer -ComputerName dc10.rshb-am.ru -File "C:\dhcp\mac-allow-export.csv"

Текстовым редактором приводим к виду (убрать кавычки и установить в первой строке заголовки):
MacAddress,Description
dc-4a-3e-51-f8-32,WS026.rshb-am.ru
dc-4a-3e-3e-25-3b,WS028.rshb-am.ru
40-b0-34-f2-9c-df,WS032.rshb-am.ru
...

Импорт в фильтр:
Import-Csv -Path "C:\dhcp\mac-allow.csv" | Add-DhcpServerv4Filter -ComputerName "dc10.rshb-am.ru" -List Allow -Force
#pve
#proxmox
#mpath
#изменить размер блочного устройства mpath

Rescan should be done on ALL nodes:
pvs -o +tags
multipath -l (view lun name of mpath)
multipath -ll LUN_name
echo 1 >/sys/block/sdX/device/rescan
echo 1 >/sys/block/sdY/device/rescan
echo 1 >/sys/block/sdZ/device/rescan
echo 1 >/sys/block/sdQ/device/rescan
multipath -r
multipath -ll LUN_name

Then from any node you can resize the PV:
pvresize /dev/mapper/LUN_name
pvresize /dev/mapper/mpathXX


https://forum.proxmox.com/threads/how-to-resize-shared-fc-lun.51524/
#dhcp
#фильтр dhcp
Импорт списков с dc10.domain.ru на хост на которым выполняется powershell команды:
Get-DhcpServerv4Filter -List Allow -ComputerName dc10.domain.ru | Add-DhcpServerv4Filter -Force
Get-DhcpServerv4Filter -List Deny -ComputerName dc10.domain.ru | Add-DhcpServerv4Filter -Force

Включение фильтров на dc11.domain.ru:
Set-DhcpServerv4FilterList -ComputerName dc11.domain.ru -Allow $True -Deny $True


Для конфигураций на уровне сервера синхронизировать политики сервера и фильтры невозможно, однако есть решение инициализируемое пользователем: DHCP Failover Auto Config Sync (DFACS) — это инструмент на основе PowerShell, который автоматизирует синхронизацию изменений конфигурации..

Ссылки:
https://besdima.dev/2025/02/19/automatic-syncing-of-configuration-changes-between-2-dhcp-failover-servers-or-dhcp-failover-auto-config-sync-dfacs/
#linux
#Удалить все, кроме 5 (или любого другого количества) последних файлов в каталоге.

rm `ls -t | awk 'NR>5'`


#Удалить все, кроме 5 (или любого другого количества) последних каталогов в каталоге.
rm -rf /mnt/data/backup_old/test/`ls /mnt/data/backup_old/test/ -t | awk 'NR>1'`
#Linux
#Уменьшить размер диска
#Уменьшить файловую систему внутри диска
#pve
#proxmox
e2fsck -f /dev/sda1
resize2fs /dev/sda1 50G
qemu-img resize --shrink rbd:ceph_datastore/vm-207-disk-0 50G
qm rescan
#nfs
apt-get update & apt-get install nfs-server nfs-utils -y & systemctl enable --now nfs


nano /etc/exports


/mnt/share/exchange1c xx.xx.xx.xx/xx(rw,sync,no_subtree_check,all_squash) xx.xx.xx.xx/xx(rщ,sync,no_subtree_check,all_squash)

all_squash - подмена запросов от ВСЕХ пользователей на анонимного uid/gid
systemctl restart nfs.service


список ресурсов
exportfs -v


монтирование fstab:
samba.domain.ru:/mnt/share/exchange1c  /mnt/exchange1c   nfs   intr,soft,nolock,_netdev,x-systemd.automount,nfsvers=4    0 0


монтирование auto.samba
exchange1c -fstype=nfs,rw,nfsvers=4 samba.domain.ru:/mnt/share/exchange1c/
#Увеличение размера раздела
apt-get install cloud-utils-growpart
growpart /dev/sdb 1
resize2fs /dev/sdb1
😁1
#logrotate

nano /etc/logrotate.d/nginx

/var/log/nginx/*.log /var/log/r7-office/nginx.*.log {
rotate 0
size=10M
missingok
notifempty
daily
compress
delaycompress
maxage 0
create 0644 root _nginx
prerotate
/usr/bin/systemctl stop nginx
endscript
postrotate
nginx -s reopen >/dev/null 2> /dev/null ||:
/usr/bin/systemctl start nginx
endscript
}

EDITOR=nano crontab -e

0 23 * * * /usr/bin/logrotate -f /etc/logrotate.d/nginx

выполнить немедленно:
/usr/sbin/logrotate -f /etc/logrotate.d/nginx
#admin_FAQ
#linux #Удалить все, кроме 5 (или любого другого количества) последних файлов в каталоге. rm `ls -t | awk 'NR>5'` #Удалить все, кроме 5 (или любого другого количества) последних каталогов в каталоге. rm -rf /mnt/data/backup_old/test/`ls /mnt/data/backup_old/test/…
#pg_probackup
#s3
#резервное копирование postgres

Скрипт создания резервной копии БД postgres с помощью утилиты pg_probackup на хранилище s3

Использование:
probackup_backup_S3_mybase.sh DELTA
probackup_backup_S3_mybase.sh FULL
probackup_backup_S3_mybase.sh FULL month



probackup_backup_S3_mybase.sh
#!/bin/bash
my_db='mybase'
my_instance='myinstance'
restore_host='db1-1c-prod.mydomain.ru'
#type_bak='DELTA'
#type_bak='FULL'
type_bak="$1"
remote_user='postgres'
my_user='postgres'

if [[ "$2" == "month" ]]; then
backup_dir='/ --s3=minio --s3-config-file=/home/backup/scripts/s3-conf/month.s3'
else
backup_dir='/ --s3=minio --s3-config-file=/home/backup/scripts/s3-conf/mybase.s3'
/opt/pgpro/ent-17/bin/pg_probackup set-config \
-B ${backup_dir} \
--instance=${my_instance} \
--retention-redundancy=2 \
--retention-window=31
fi

/opt/pgpro/ent-17/bin/pg_probackup backup \
-b ${type_bak} \
-B ${backup_dir} \
--instance=${my_instance} \
-d ${my_db} \
--remote-host=${restore_host} \
--remote-user=${remote_user} \
-U ${my_user} \
--stream \
--delete-expired \
--compress-level=2 \
--compress-algorithm lz4


количество полных копий в каталоге:
retention-redundancy=2

возможность восстановления в днях:
 retention-window=31


Файл конфигурации s3-хранилища:
access-key = xxxxxxxxxxxxxxxxxxx
secret-key = xxxxxxxxxxxxxxxxxxx
s3-host = s3db.mydomain.ru
s3-port = 9000
s3-bucket = month
s3-buffer-size = 32
s3-secure = https