Разное полезное

1 473 просмотров

. Полезные мелочи (разное полезное)

Disable ipv6 completely (optional)

echo “net.ipv6.conf.all.disable_ipv6 = 1” >> /etc/sysctl.conf
echo “net.ipv6.conf.default.disable_ipv6 = 1” >> /etc/sysctl.conf
echo “net.ipv6.conf.lo.disable_ipv6 = 1” >> /etc/sysctl.conf

Enable ipv6

echo “net.ipv6.conf.all.disable_ipv6 = 0” >> /etc/sysctl.conf
echo “net.ipv6.conf.default.disable_ipv6 = 0” >> /etc/sysctl.conf
echo “net.ipv6.conf.lo.disable_ipv6 = 0” >> /etc/sysctl.conf

создать большой файл, 100мег, 1 гиг

dd if=/dev/zero of=./data.img bs=1024 count=102400
dd if=/dev/zero of=./data.img bs=1024 count=1024000

файл нельзя пересохранить даже владельцу:

root@host [~]# lsattr /usr/local/lib/php.ini
—-i——– /usr/local/lib/php.ini

атрибут i – запрещает редактирование файла

сменить можно командой  chattr -i /usr/local/php.ini 

 

так- можно узнать конфу сервера/VPS

wget -qO- bench.sh | bash

смена часового пояса Debian/Ubuntu

dpkg-reconfigure tzdata

конвертируем rmp в deb

apt-get install alien
alien –to-deb package.rpm

Debian autostart

Для начала, после загрузки системы, мы проверим список юнитов, которые в данный момент добавлены в systemd:

systemctl list-units

Список unit-файлов можно получить командой:

systemctl list-unit-files

Чтобы вывести список активных сервисов и их состояние, выполните:

# systemctl list-units -t service

systemctl list-units --all --state=active — выведет список только активных юнитов

systemctl list-units —type=service — выведет список юнитов, которые являются сервисом.

systemctl enable nginx.service – команда добавит в автозагрузку веб-сервер nginx

# systemctl disable nginx.service – команда удалит из автозагрузки веб-сервер nginx

 

wget – скачать сайт

wget -r -k -l 7 -p -E -nc http://site.com/ Шпаргалка по wget аргументам команды

-r, — recursive — скачивать все страницы рекурсивно переходя по ссылкам на сайте.

-k, — convert-links — после завершения скачивания преобразовать все абсолютные ссылки на скачанные документы в относительные. Если загружен файл, на который есть ссылка, то ссылка будет указывать на него, если нет — ссылка будет указывать на его адрес в интернете.

-p, — page-requisites — загрузить все файлы, которые требуются для отображения страниц: изображения, css-стили и т.д.

-nc, — no-clobber — запрещает перезапись существующих файлов, на случай если нужно возобновить остановленную загрузку.

-c, — continue — докачивать частично полученные файлы, в случае обрыва связи во время предыдущей закачки.

-N, — timestamping — скачивать файлы с более поздней датой, чем уже имеющиеся. С помощью этого флага можно обновить только изменённые страницы.

-K, — backup-converted — конвертировать ссылки обратно, убирать расширение .orig, изменяет поведение опции -N.

-np, — no-parent — скачивать только файлы находящиеся в текущем каталоге, т.е. запрещает переход по каталогам на уровень выше.

-nd, –no-directories — Не создавать иерархию каталогов во время рекурсивной выборки. При использовании этой опции, все получаемые файлы будут сохраняться в текущем каталоге без разрушения (если имя файла будет встречаться более одного раза, то имена файлов будут расширяться суффиксом «.n»).

-l depth, —level=depth — максимальная глубина вложенности страниц, по-умолчанию depth = 5. Если указать 0 — то wget будет скачивать по всем найденным ссылкам. Если указать 1 — будут скачана указанная страница и все те страницы, на которые она ссылается.

-A, acclist, —accept acclist, -R rejlist —reject rejlist — имена файлов через запятую которые следует загрузить или исключить. Можно указать маски в posix-стиле.

— restrict-file-names=windows — убирает из имён файлов и директорий запрещённые символы для ОС Windows.

-E, —adjust-extension — сохранит файлы с mime-type application/xhtml+xml или text/html с расширением .html, нужно в случае выкачивания динамических сайтов с расширениями .php или .asp. До версии wget 1.12 назывался html-extension.

— domains example.com — разрешает переход по ссылкам только указанных доменов.

-H, —span-hosts — разрешает переходить на любые доменные имена на которые будут указывать ссылки.

-nv, —non-verbose — выводит краткий журнал об обработанных страницах.

-U agent-string, —user-agent=agent-string — представляться как agent-string при запросах к серверу.

— no-check-certificate — не проверять сертификат сервера.

Пауза в bash-скриптах

read -sn1 -p "Press any key to continue..."; echo

==============================================================================

Wget – как выкачать архив c Google Drive по прямой ссылке

Очень часто нужно перенести архив, который находится на Google Drive (Гугл Диске), на наш сервер через wget. Доступ к архиву должен быть открыт для всех, тогда команда сработает.

Пример, у нас есть ссылка:

https://drive.google.com/file/d/1aFdgdfcKOhcRuXc345EAQouhN8pgewQ6q_G/view?usp=sharing

где

1aFdgdfcKOhcRuXc345EAQouhN8pgewQ6q_G - это наш ID файла.

Команда для скачивания архива c Google Drive:

# wget –load-cookies /tmp/cookies.txt “https://docs.google.com/uc?export=download&confirm=$(wget –quiet –save-cookies /tmp/cookies.txt –keep-session-cookies –no-check-certificate ‘https://docs.google.com/uc?export=download&id=OUR_ID’ -O- | sed -rn ‘s/.*confirm=([0-9A-Za-z_]+).*/\1\n/p’)&id=OUR_ID” -O filename.mov && rm -rf /tmp/cookies.txt

где

OUR_ID - наш ID, который берем из URL
filename.mov - название файла

Для нашего примера команда будет выглядеть так:

# wget –load-cookies /tmp/cookies.txt “https://docs.google.com/uc?export=download&confirm=$(wget –quiet –save-cookies /tmp/cookies.txt –keep-session-cookies –no-check-certificate ‘https://docs.google.com/uc?export=download&id=1aFdgdfcKOhcRuXc345EAQouhN8pgewQ6q_G’ -O- | sed -rn ‘s/.*confirm=([0-9A-Za-z_]+).*/\1\n/p’)&id=1aFdgdfcKOhcRuXc345EAQouhN8pgewQ6q_G” -O filename.mov && rm -rf /tmp/cookies.txt

С Google Drive очень быстрая скорость скачивания, поэтому информацию будет практична.

Чтобы рекурсивно настроить доступ ко всем папкам и файлам на вашем сайте:

1. Подключитесь по SSH.

2.Выполните команды:

find /dir_name -type d -exec chmod 755 {} \;

find /dir_name -type f -exec chmod 644 {} \;

Где dir_name — полный путь до корневой папки сайта.

Первая команда изменит права для всех директорий внутри указанной на 755. Вторая — для файлов внутри указанной директории на 644.

 

Увеличение времени сессии SSH

На сервере в конфигурационном файле /etc/ssh/sshd_config прописываем:

TCPKeepAlive yes
ClientAliveInterval 300
ClientAliveCountMax 60

TCPKeepAlive — установлен в «yes», значит сервер будет периодически пинговать клиента, проверяя жив ли он.
ClientAliveInterval — задает интервал пинга для проверки состояния клиента (в секундах). Параметр работает только для протокола версии 2 (Protocol 2).
ClientAliveCountMax — количество пингов клиента.
Таким образом в моем примере таймаут сессии будет равен 60*300/60 = 300 минут = 5 часов.
После изменения настроек не забудьте перезапустить сервис ssh.

Опубликовать текущую директорию в веб:

python3 -m http.server 8080
ruby -run -ehttpd -p8080

Вывод cron всех пользователей

for user in $(cut -d':' -f1 /etc/passwd); do crontab -u $user -l; done

Поделиться: