Очитка логов:
find /var/log \( -name "*.[0-9]" -o -name "*.*.[0-9]" -o -name "*.gz" \) -exec rm {} \;
find /var/log/ -type f -name "*log" -exec cp /dev/null {} \;
может в крон добавить:
0 0 * * * find /var/log \( -name "*.[0-9]" -o -name "*.*.[0-9]" -o -name "*.gz" \) -exec rm {} \; && find /var/log/ -type f -name "*log" -exec cp /dev/null {} \;
Очистка папки journal:
# journalctl --disk-usage
Archived and active journals take up 952.2M on disk.
Делаем чистку:
# journalctl --vacuum-size=50M
# journalctl --verify
linux: показать размер папок в категории:
du --max-depth=1 -h
Guzzle – параллельные запросы
Laravel – полезное
Если картинки не отображаются: php artisan storage:link
wsl ssh проблемы:
eval `ssh-agent -s`
ssh-add ~/.ssh/id_rsa
____
Добавить в cron scheduler :
команда:
crontab -e
текст:
* * * * * cd var/www/ && php artisan schedule:run >> /dev/null 2>&1
https://crontab.guru/#*_*_*_*_*
Список заданий в расписании: php artisan schedule:list
получал 404 ошибку для картинок из папки. Оказалось не прописаны права доступа:
chmod 755 category
миграция одной таблицы, прописываем путь:
php artisan migrate:refresh –path=/database/migrations/2023_07_27_123118_parser_news.php
На прочитать
https://proglib.io/sh/NeiT4ZYIdQ – https://proglib.tech/p/polnoe-rukovodstvo-po-osnovam-git-2023-04-05
https://proglib.io/sh/EAUkob4HNR – https://proglib.tech/p/modulnaya-arhitektura-chto-kak-i-pochemu-2023-04-04
https://medium.com/ampersand-academy/php-read-and-write-excel-file-using-phpspreadsheet-ec0b41fb1fd0
https://blog.programster.org/create-excel-spreadsheets-using-phpspreadsheet
https://www.pythoncheatsheet.org/
https://refactoring.guru/ru
laradock – полезное
Документация: https://laradock.io/getting-started/#installation
Запустить ларадок:
docker-compose up -d nginx mysql redis
docker-compose up -d nginx mariadb phpmyadmin redis
docker-compose stop
docker-compose down
Ошибка с правами доступа, исправлять внутри контейнера:
docker compose exec workspace bash
исполнить команду:
chown -R laradock:laradock /var/www
Обновить ssl сертификат и перезапустить контейнер:
docker-compose build –no-cache nginx
app\Providers\AppServiceProvider.php
$this->app->bind(‘path.public’, function () {
return realpath(base_path() . ‘/public_html’);
});
Рабочий и быстрый способ запустить openvpn на сервере
Чтобы установить на своем сервере OpenVpn достаточно подключиться к нему по SSH, скачать файл с github и запустить его. Далее следовать инструкциям установщика.
Файл находится здесь: https://github.com/Nyr/openvpn-install
А вот список команд, которые последовательно нужно вводить на сервере:
1 ip addr – узнать свой ip
3 sudo apt-get update && sudo apt-get dist-upgrade – обновиться
4 sudo reboot – перезагрузиться
5 sudo apt-get install ufw – установка сетевого экрана
6 sudo ufw allow 22 – далее настройка портов
7 sudo ufw allow 80
8 sudo ufw allow 443
9 sudo ufw allow 992
10 sudo ufw enable – включение экрана
11 sudo ufw status – проверка статуса. Убедитесь что порты работают
12 wget https://git.io/vpn -O openvpn-install.sh – скачивание файла с gitHub
13 sudo bash openvpn-install.sh – установка openVpn
14 systemctl status openvpn-server@server.service – проверки, что vpn работает
Дальше просто скачиваете ovpn файлы из root директории и подключаетесь на своем пк(или другом устройстве).
Для создания других ovpn файлов просто запускается команду из той же папки, где качали файл с gitHub:
sudo bash openvpn-install.sh
Ненужные команды:
16 ip addrsystemctl status openvpn@client-home
17 systemctl status openvpn@client-home
18 systemctl status openvpn@clien
19 systemctl status openvpn@openvpn
20 systemctl status openvpn-server@server.service
22 systemctl status openvpn-server@server.service
23 netstat -n | find “:3389” | find “ESTABLISHED”
26 sudo bash openvpn-install.sh
Ссылки:
https://github.com/Nyr/openvpn-install
https://www.cyberciti.biz/faq/howto-setup-openvpn-server-on-ubuntu-linux-14-04-or-16-04-lts/
https://wiki.iphoster.net/wiki/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_VPN_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_(openvpn-install.sh)_%D0%B7%D0%B0_3_%D0%BC%D0%B8%D0%BD%D1%83%D1%82%D1%8B
Docker команды
docker run -v C:\petProjects\some\nginx:/usr/share/nginx/html -p 8088:80 -d nginx
docker run –name convertervideo -it –rm -p 8088:80 -v C:\Users\a.taskaev\Videos\drone:/app/video converter:10
docker run -v ${PWD}:/usr/share/nginx/html -p 8080:80 -d nginx
docker run –name convertervideo -it –rm p 8088:80 converter:8
docker stop $(docker ps -q) – stop можно заменить на kill для принудительного удаления
–rm удалить контейнер после работы
-p порты
-d detach запускать контейнер в фоне
-it – интерактивный режим
docker run –name mynginx -v ${PWD}:/usr/share/nginx/html -p 8888:80 -d –rm nginx
Создать образ:
docker build -t converter .
В несколько строк
docker run \
–name mynginx \
-v ${PWD}:/usr/share/nginx/html \
-p 8888:80 \
-d \
–rm \
nginx
# docker container stop КОНТЕЙНЕР
Для немедленного завершения выполните команду kill. В большинстве ситуаций stop предпочтительнее.
# docker container kill КОНТЕЙНЕР
Немедленное завершение всех запущенных контейнеров:
# docker container kill $(docker ps -q)
# docker container rm КОНТЕЙНЕР
удалить все не запущенные контейнеры.
# docker container rm $(docker ps -a -q) https://itproffi.ru/docker-chast-2-rabota-s-kontejnerami - почитать
войти внутрь контейнера исполняя команду
docker exec -it cb48887ceb64 sh
Греция документы, советы и что взять в дорогу
В неспокойные времена, когда границы закрываются, вводятся ограничения, мы не перестанем путешествовать. Хоть теперь немного иначе.
Это личные заметки, но решение сохранить их может помочь мне и кому-то ещё в будущем.
Виза в Грецию.
Ориентировался на этот сайт -> https://provisy.ru/tourist-visa/t-greece.html и визовый центр Греции в СПБ -> https://ru-gr.gvcworld.eu/ru (ужасный сайт).
Список документов:
- Паспорт РФ + копия
- Загранпаспорт с двумя чистыми страницами + копия со всеми отметками в паспорте (визы, штампы)
- Анкета заявителя;
пример: https://provisy.ru/fill-in/application-greece.html https://provisy.ru/countries/process-greece.html
Заполнил её онлайн на сайте визового центра -> https://ru-gr.gvcworld.eu/ru - Медицинская страховка с покрытием не менее 30 тыс. евро или 50 000 долларов США.
Зона покрытия: либо «Греция», «страны Шенгена», либо «Весь мир».
Купил у Тинькофф, на сайте “Черепаха” было дороже. - Подтверждение трудоустройства и платежеспособности (справка с работы и выписка о доходах);
50 евро в день на человека но не менее 50 000 руб.
По сути берем выписку с банка за 3 месяца и с работы справку. - Билеты на самолет и бронь отеля; На момент подачи документов необходимо было полностью оплачивать билеты и отель.
- 35 € консульский сбор + 1700 визовый сбор ( оплачивается в визовом центре )
- Фотографии 35х45 (2 шт.). сделать в визовом центре 300 руб.
Для въезда в Грецию важно:
- Сделать ПЦР-тест (за 72 часа до вылета)
- PLF-анкета для въезда ( за 24 часа до вылета , лучше за 48) – инструкция (https://www.mouzenidis-travel.ru/greece/article/plf-greece)
Я собирался уехать в Европу на долгий срок, поэтому думал об аренде склада:
- склад ~
https://xn--80aafh2add0ab4g.xn--p1ai/contacts – 2000 в месяц (оплата за 6 если )
https://nordboxspb.ru/calc/ – дешевле ( 8к за 6 месяцев)
Расходы:
- 70000 на человека х 2
- 11000 отель на 7 дней
- 35000 билеты
- 6000 виза + 6000 запись
- 6400 ПЦР тест
Таблица символов кодировки ASCII в URL код
Кодирование в URL заменяет небезопасные символы ASCII на символ «%» и следующие две шестнадцатеричные цифры соответствующего значения в наборе символов ISO-8859-1. В ручную кодировать символы очень хлопотно. Для ускорения процесса конвертации кодировки используйте «Кодировщик HTML в URL». Использование данного кодирования не влияет на реакцию антивирусов и допускается для расширенного применения. В статье представлена таблица символов кодировки ASCII в URL код.
Появление адресов URL стало существенным нововведением в Интернете. Однако с момента его изобретения и по сей день стандарт URL обладает серьёзным недостатком. В нём можно использовать только ограниченный набор символов, даже меньший, нежели в ASCII: латинские буквы, цифры и лишь некоторые знаки препинания. Если мы захотим использовать в URL символы кириллицы, или иероглифы, или, скажем, специфические символы французского языка, то нужные нам символы должны быть перекодированы особым образом.
Функции в PHP:
urlencode() — URL-кодирование строки
urldecode() — Декодирование URL-кодированной строки
Функции в Javascript:
escape() — URL-кодирование строки
unescape() — Декодирование URL-кодированной строки
Таблица соответствия символов ASCII к URL кодировке
ASCII | Код | ASCII | Код | ASCII | Код | ASCII | Код | ASCII | Код | ASCII | Код |
---|---|---|---|---|---|---|---|---|---|---|---|
æ | %00 | 0 | %30 | ` | %60 | %90 | À | %c0 | ð | %f0 | |
%01 | 1 | %31 | a | %61 | ‘ | %91 | Á | %c1 | ñ | %f1 | |
%02 | 2 | %32 | b | %62 | ’ | %92 | Â | %c2 | ò | %f2 | |
%03 | 3 | %33 | c | %63 | “ | %93 | Ã | %c3 | ó | %f3 | |
%04 | 4 | %34 | d | %64 | ” | %94 | Ä | %c4 | ô | %f4 | |
%05 | 5 | %35 | e | %65 | • | %95 | Å | %c5 | õ | %f5 | |
%06 | 6 | %36 | f | %66 | – | %96 | Æ | %c6 | ö | %f6 | |
%07 | 7 | %37 | g | %67 | — | %97 | Ç | %c7 | ÷ | %f7 | |
backspace | %08 | 8 | %38 | h | %68 | ˜ | %98 | È | %c8 | ø | %f8 |
tab | %09 | 9 | %39 | i | %69 | ™ | %99 | É | %c9 | ù | %f9 |
linefeed | %0a | : | %3a | j | %6a | š | %9a | Ê | %ca | ú | %fa |
%0b | ; | %3b | k | %6b | › | %9b | Ë | %cb | û | %fb | |
%0c | < | %3c | l | %6c | œ | %9c | Ì | %cc | ü | %fc | |
c return | %0d | = | %3d | m | %6d | %9d | Í | %cd | ý | %fd | |
%0e | > | %3e | n | %6e | ћ | %9e | Î | %ce | þ | %fe | |
%0f | ? | %3f | o | %6f | Ÿ | %9f | Ï | %cf | ÿ | %ff | |
%10 | @ | %40 | p | %70 | %a0 | Ð | %d0 | ||||
%11 | A | %41 | q | %71 | ¡ | %a1 | Ñ | %d1 | |||
%12 | B | %42 | r | %72 | ¢ | %a2 | Ò | %d2 | |||
%13 | C | %43 | s | %73 | £ | %a3 | Ó | %d3 | |||
%14 | D | %44 | t | %74 | %a4 | Ô | %d4 | ||||
%15 | E | %45 | u | %75 | ¥ | %a5 | Õ | %d5 | |||
%16 | F | %46 | v | %76 | | | %a6 | Ö | %d6 | |||
%17 | G | %47 | w | %77 | § | %a7 | %d7 | ||||
%18 | H | %48 | x | %78 | ¨ | %a8 | Ø | %d8 | |||
%19 | I | %49 | y | %79 | © | %a9 | Ù | %d9 | |||
%1a | J | %4a | z | %7a | ª | %aa | Ú | %da | |||
%1b | K | %4b | { | %7b | « | %ab | Û | %db | |||
%1c | L | %4c | | | %7c | ¬ | %ac | Ü | %dc | |||
%1d | M | %4d | } | %7d | ¯ | %ad | Ý | %dd | |||
%1e | N | %4e | ~ | %7e | ® | %ae | Þ | %de | |||
%1f | O | %4f | %7f | ¯ | %af | ß | %df | ||||
space | %20 | P | %50 | Ђ | %80 | ° | %b0 | à | %e0 | ||
! | %21 | Q | %51 | %81 | ± | %b1 | á | %e1 | |||
« | %22 | R | %52 | ‚ | %82 | ² | %b2 | â | %e2 | ||
# | %23 | S | %53 | ƒ | %83 | ³ | %b3 | ã | %e3 | ||
$ | %24 | T | %54 | „ | %84 | ´ | %b4 | ä | %e4 | ||
% | %25 | U | %55 | … | %85 | µ | %b5 | å | %e5 | ||
& | %26 | V | %56 | † | %86 | ¶ | %b6 | æ | %e6 | ||
‘ | %27 | W | %57 | ‡ | %87 | · | %b7 | ç | %e7 | ||
( | %28 | X | %58 | ˆ | %88 | ¸ | %b8 | è | %e8 | ||
) | %29 | Y | %59 | ‰ | %89 | ¹ | %b9 | é | %e9 | ||
* | %2a | Z | %5a | Š | %8a | º | %ba | ê | %ea | ||
+ | %2b | [ | %5b | ‹ | %8b | » | %bb | ë | %eb | ||
, | %2c | \ | %5c | Œ | %8c | ¼ | %bc | ì | %ec | ||
— | %2d | ] | %5d | %8d | ½ | %bd | í | %ed | |||
. | %2e | ^ | %5e | Ћ | %8e | ¾ | %be | î | %ee | ||
/ | %2f | _ | %5f | %8f | ¿ | %bf | ï | %ef |
git – добавление в gitignore файлов и папок после коммита или пуша
Случается, что забыл добавить в игнор что-нибудь и это летит на сервер. А нам это не надо))
Шаг 1:
Добавить в gitignore нужныe правила
Например мой вариант:
/* # игнор всего
!/js # оставить только папку с js скриптами
Шаг 2:
Очистить свой репозиторий.
Команда:
” git rm -r –cached . ” ( точку не забываем *)
шаг 3:
Команда:
” git add . ”
Ну и 4 шаг:
” git commit -m “yoursCommit” ”
p.s. в github desctop есть терминал. ОТкрывается по команде ” ctrl + ”