#!/bin/sh
# Пример пути до сайта /var/www/site.ru/web/
SITEDIR="/var/www" # Папка до названия доменаов
WEB="web" # Папка после названия доменов (если есть)
DBCONN="bitrix/php_interface/dbconn.php" # Откуда читать настройки mysql
FTPUSER="1111111" # Логин FTP сервера
FTPPASS="22222222" # Пароль FTP
FTPHOST="u113948.site.ru" # сервер FTP
FTPDIR="/ks03.ru/site/" # папка на FTP
TMPDIR="/var/backup/site" # Где будут храниться временные файлы
DATE=`date +"%Y-%m-%d"` # Формат даты в имени файла
DATEYM=`date +%Y`/`date +%m` # Второй форматы даты
LIST=${1:-`ls -L $SITEDIR | grep -E ".*\.\w{1,5}" | grep -v "restore.php" | grep -v "klondike.php"`} # Название сайта, тут выбор или аргумент или, регулярка можно убрать только -L ;) ( не брать вот эти файлы )
test ! -d $TMPDIR/$DATEYM && mkdir -p $TMPDIR/$DATEYM # создаем структ уру каталогов если их нет
for ELEMENT in $LIST
do
if [ ! -f /$SITEDIR/$ELEMENT/$WEB/$DBCONN ];
then
echo " Файл $SITEDIR/$ELEMENT/$WEB/$DBCONN не найден, сайт будет без БД!"
else
mysqldump -u$DBLOGIN -p$DBPASS $DBNAME > $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql && echo "Дамп БД $DBNAME будет сохранен в корне сайта" || echo "Ошибка дампа базы данных " $DBNAME
fi
echo "MySql, чтоб вам прям ну совсем не марать ручки"
echo "$DBLOGIN"
echo "$DBPASS"
echo "$DBNAME"
echo "Архивируем сайт $ELEMENT"
tar -cvpzf $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz --directory $SITEDIR/$ELEMENT/$WEB --ignore-failed-read --exclude='./bitrix/tmp' --exclude='./bitrix/updates' --exclude='./bitrix/backup/*\.gz*' --exclude='./bitrix/backup/*\.tar*' --exclude='./bitrix/cache' --exclude='./bitrix/managed_cache' --exclude='./bitrix/stack_cache' --exclude='./upload/resize_cache' --exclude='./stats' . >> /dev/nool 2> /var/log/backup_error.log
rm -f $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql # поскльку ложим на реальный сайт, ибо нормально добавить в архив не получитяс.
echo "Сохраняем $ELEMENT на FTP"
echo "wput --basename=$TMPDIR --limit-rate=60000K --timestamping --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR"
wput --disable-tls --basename=$TMPDIR --limit-rate=60000K --timestamping --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR
rm -f $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz
echo -en "\n\033[37;1;41m Ссылочка:\033[0m \e[1;4;36mwget ftp://u148-sub4:W3qyu9NRcVVi51bN@$FTPHOST/$DATEYM/$ELEMENT-$DATE.tar.gz\e[0m\n\n" #ks02
done
rm -r $TMPDIR
RewriteRule ^lot/([0-9]{1,})$ /\?lot=$1 [NC,L]
RewriteCond %{QUERY_STRING} (?:^|&)\$(?:$|&)
RewriteRule ^lot/([0-9]{1,}))/$ /\?lot=$1 [L,R=301]
верхнего в нижний регистр итдну тут чтоб без матюгов я отвечу коротко Линукс регистрозависимая система ( это реально если матюгов и пены) какой "умный" человек вообще придумал делать такие редиректы заслуживает отдельного места в аду.
вы так же перемешали правила.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
#RewriteCond %{REQUEST_URI} !^/$
find /etc/nginx -type f -exec grep -l 3dpaneli.ru {} \; | xargs ls -lah
find -
искать в каталоге-type f
только имена файлов-exec
выполнить команду с найденым файломgrep -l
- не выводить сам греп а выводить имя файла в котором он нашел {}
- то что на выводе у find \;
- просто заканчиваем файнд|
- вывод передаем следующей командеxargs ls -lah
xargs почитай отдельно короче он передаст вывод пути файла на ls -lah и получаем все че хочеш RewriteRule ^kak\-ukrasit\-interer\-rakushkami/32\-3/$ /kak\-ukrasit\-interer\-rakushkami/? [L,R=301]
[^\/]+
- любое количество символов но не слеш[0-9]{1,}
- цифры от нуля до девяти от одного раза и больше(\/|)
- слеш или его отсутствие в конце ( не обязательно) server {
######################################################################
## Server configuration
######################################################################
listen *:443 ssl http2;
server_name 3dpaneli.ru www.3dpaneli.ru ;
root /var/www/3dpaneli.ru/web;
######################################################################
## Enable gzip for proxied requests and static files
######################################################################
# Enable gzip for proxied requests and static files
gzip on;
gzip_proxied any;
gzip_vary on;
gzip_http_version 1.1;
gzip_types application/javascript application/json text/css text/xml;
gzip_comp_level 4;
######################################################################
## SSL configuration
######################################################################
# recommended but not manditory directive
# leave commented out unless you know what it is doing
#more_set_headers 'Strict-Transport-Security: max-age=15768000';
ssl on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1h;
ssl_protocols TLSv1.2 TLSv1.3;
add_header Strict-Transport-Security "max-age=15768000" always;
ssl_stapling on;
ssl_stapling_verify on;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_certificate /var/www/clients/client132/web171/ssl/3dpaneli.ru-le.crt;
ssl_certificate_key /var/www/clients/client132/web171/ssl/3dpaneli.ru-le.key;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
######################################################################
## Log configuration
######################################################################
#Все логи отключены
error_log /dev/null crit;
access_log off;
######################################################################
## Errors send to apache2
######################################################################
# у апача своих алиасов куча, а так же некоторая статика отдается
# средствамси php, по этому все ошибки обрабатывать только apache2
error_page 401 403 404 405 500 502 503 = @fallback;
location @fallback {
proxy_pass https://127.0.0.1:4443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HTTPS YES;
}
######################################################################
## Locations configuration
######################################################################
#Отключаем логирование ошибок No such file or directory
## Disable .htaccess files
location ~ /\.ht {
deny all;
access_log off;
log_not_found off;
}
##
location = /favicon.ico {
log_not_found off;
access_log off;
}
##
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
##
######################################################################
# сервисы на сайте phpmyadmin почта и letxencrypt
location /phpmyadmin/ {
deny all;
root /usr/share/phpmyadmin/;
}
##
location /webmail/ {
rewrite ^/(.*)$ https://$http_host:8080/$1 permanent;
}
# letsencrypt
location /.well-known/acme-challenge/ {
alias /usr/local/ispconfig/interface/acme/;
default_type text/plain;
}
# static content
# Отдаем статику напрямую с nginx
location ~* ^.+\.(jpg|jpeg|svg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
root /var/www/3dpaneli.ru/web;
access_log off;
expires max;
gzip_static on;
}
# default location
location / {
index index.php index.html index.htm;
proxy_pass https://127.0.0.1:4443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HTTPS YES;
}
}
server {
listen *:80;
server_name 3dpaneli.ru www.3dpaneli.ru ;
root /var/www/3dpaneli.ru/web;
......
proxy_pass http://127.0.0.1:82;
....
}
man ls | grep -A 1 "\-\-color\[=WHEN\]"
-A 1
- after 1 строка после найденого'\-\-color\[\=WHEN\]'
- экранируем спец символыman ls | grep -A 1 "\-\-color\[=WHEN\]" | tail -n1
tail - n1
показать 1 строчку с концаman ls | grep -A 1 "\-\-color\[=WHEN\]" | grep -v =WHEN
RewriteEngine On
RewriteBase /
RewriteRule ^robots.txt$ /robots.php [L]
server {
listen *:80;
server_name 3dpaneli.ru www.3dpaneli.ru ;
root /var/www/3dpaneli.ru/web;
....
location / {
proxy_pass https://127.0.0.1:443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
......
}