#Создание БД для Битрикс
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 пользователю на запуск приложения
запускать: sudo приложение
nano /etc/sudoers
"пользователь" ALL = (ALL) NOPASSWD: /opt/Validata/VDCSP/bin/amd64vdcsp_cfg
запускать: sudo приложение
👍1
#домен
#добавление в группу
#добавление в группу
Add-ADGroupMember -Identity 'FILE_DomainUsers' -Members (Get-ADGroupMember -Identity 'Пользователи домена')
iptables
скопировать по ssh:
выгрузить строкой:
импортировать строкой:
скопировать по 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
просмотр копий pgprobackup на s3:
восстановление БД из 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
Политики резервного копирования:
https://console.yandex.cloud/folders/b1gid9oico6uehb8jpri/backup/policies
Мониторинг создания копии:
https://console.yandex.cloud/folders/b1gid9oico6uehb8jpri/backup/instances
для настройки резервного копирования на 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-сервер
установка:
конфиг ftp сервера /etc/vsftpd.conf
изменения в файле /etc/xinetd.d/vsftpd
Перезапустить сервис
Установить запуск сервиса xinetd при загрузке системы
/etc/vsftpd/user_list
При использовании ftps:
в пакете ftp для alt linux нет поддержки SSL
установка:
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
Назначение прав на схему и таблицы
Создание пользователя 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
Это важно для обработки данных, отправленных клиентом на сервер, например:
загрузок файлов (изображений, видео, документов);
данных форм с большими объёмами текста или несколькими полями;
запросов POST (данных, отправленных на сервер в теле запроса, часто используемых в API).
внесение параметров проблему не решало, но также необходимо в /etc/php/8.2/apache2-mod_php/php.ini:
upload_max_filesize, post_max_size, max_file_uploads
# размер файла для загрузки
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 сервера:
Текстовым редактором приводим к виду (убрать кавычки и установить в первой строке заголовки):
Импорт в фильтр:
#контроллер домена
#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/
#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/
Proxmox Support Forum
How to resize shared FC LUN
Hi all,
I have a proxmox cluster with a shared FC LUN (managed by LVM). The LUN is full and I would like to resize it. I have resized it on the storage but how do i do it in proxmox?
Keep in...
I have a proxmox cluster with a shared FC LUN (managed by LVM). The LUN is full and I would like to resize it. I have resized it on the storage but how do i do it in proxmox?
Keep in...
#dhcp
#фильтр dhcp
Импорт списков с dc10.domain.ru на хост на которым выполняется powershell команды:
Включение фильтров на dc11.domain.ru:
Для конфигураций на уровне сервера синхронизировать политики сервера и фильтры невозможно, однако есть решение инициализируемое пользователем: 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/
#фильтр 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
#Уменьшить размер диска
#Уменьшить файловую систему внутри диска
#pve
#proxmox
#Уменьшить размер диска
#Уменьшить файловую систему внутри диска
#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
all_squash - подмена запросов от ВСЕХ пользователей на анонимного uid/gid
список ресурсов
монтирование fstab:
монтирование auto.samba
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
количество полных копий в каталоге:
возможность восстановления в днях:
Файл конфигурации s3-хранилища:
#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