Linux
-
РЕШЕНИЕ ошибки Размер стека и pcre.recursion_limit (check_pcre_recursion)
Ошибка “Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений”
Решение довольно простое и банальное (далее…)
-
Команды для создания скрипта бэкапа – резервного копирования для AWS EC2 в AMI, Snapshot
aws ec2 describe-instances –filters Name=tag:Backup,Values=true
aws ec2 describe-instances –filters Name=tag:Backup,Values=true Name=instance-state-name,Values=running
aws ec2 create-image –instance-id i-0babc6340c19f316a –name “OpsWork” –description $(date +%Y%m%d) $(aws ec2 describe-instances|egrep –no-reboot
aws ec2 describe-instances –filters Name=tag:Backup,Values=true Name=instance-state-name,Values=running|grep InstanceId|cut -d ‘”‘ -f 4
aws ec2 create-image –instance-id $(aws ec2 describe-instances –filters Name=tag:Backup,Values=true Name=instance-state-name,Values=running|grep InstanceId|cut -d ‘”‘ -f 4) –name EC2_backup_$(aws ec2 describe-instances –filters Name=tag:Backup,Values=true Name=instance-state-name,Values=running|grep InstanceId|cut -d ‘”‘ -f 4) –description “$(date +%F) $(aws ec2 describe-instances –filters Name=tag:Backup,Values=true Name=instance-state-name,Values=running|grep InstanceId|cut -d ‘”‘ -f 4)” –no-reboot
aws ec2 describe-images –owners self
aws ec2 describe-snapshots –owner-ids 555272442455
aws ec2 deregister-image –image-id
aws ec2 delete-snapshot –snapshot-idaws ec2 describe-snapshots –owner-ids 555272442455 |grep |grep SnapshotId|cut -d ‘”‘ -f4
aws ec2 describe-snapshots –snapshot-id snap-0d6654a434c57f81e –query Snapshots[].Description
aws ec2 describe-images –image-id ami-834ec5ec ami-5559d23a ami-0353d86c –query Images[].Descriptionsnapshot_date_in_seconds=$(date “–date=$snapshot_date” +%s)
-
Создание полезных функций и алиасов для окружения в Linux
Здесь вы сможете найти пару полезных function и alias для вашего файла .bashrc или .bash_profile для вашего Linux (Debian, Ubuntu, Mint, CentOS, RHEL), которые оптимизируют вашу работу в сторону ускорения и облегчения. (далее…)
-
Примеры команды sed и полезные скрипты на одну строку для работы с текстом
Удалить последние 5 строк в файле (далее…)
-
Как включить tun/tap и ppp для контейнера под OpenVZ
Инструкция по настройке ppp и tun/tap для VPS/VDS
-
Как сгенерировать самоподписанный SSL v3 в Linux CentOS, Ubuntu
Команда для Linux, которая генерирует новый самоподписанный сертификат SSL v3:
1sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl.key -out ssl.crtСертификат и ключ к нему будет размещен в той же папке где вы находитесь и их имена будут для сертификата ssl.crt и у ключа соответственно ssl.key .
Чтобы узнать информацию про сертификат, его SHA1 fingerprint и версию выполните команду:
1openssl x509 -in ssl.crt -noout -text -fingerprint
Если у вас возникли вопросы или предложения можете писать их в комментарии. -
Простые способы автозамены текста в Linux через SSH
Иногда возникает необходимость выполнить автозамену большого количества фрагментов текста в одном или нескольких файлах для этого существуют простые ssh команды для автозамены текста.
Автозамена текста в одном файле
1cat file.txt |replace "1fragment" "2fragment" > file_1В данной команде всё интуитивно понятно, file.txt это наш файл в котором мы будем делать автозамену, 1fragment – фрагмент текста, который нужно заменить, 2fragment – фрагмент текста, который нужно вставить (то есть тот на, который нам нужно изменить).
Автозамена текста в нескольких файлах
Вариант 1 с поиском файлов содержащими определённый текст.
1grep -lr 'text_fragment' *|xargs sed -i -r 's/text_fragment/text_fragment2/g'Такой вариант автозамены слов в файлах. Сначала мы ищем все файлы которые содержат слово text_fragment затем изменяем слово text_fragment на text_fragment2 опять же всё довольно просто и удобно.
Вариант 2 с поиском файов по заданной маске или имени.
1find -type f -name \*.conf -exec sed -i -r 's/text_to_replace1/text_to_replace2/g' {} \;Ищем файлы по маске “\*.conf” то есть содержащие в конце имени такой текст “\*.conf” и производим во всех найденных файлах автозамену текста text_to_replace1 на text_to_replace2.
Если у вас возникли вопросы или предложения можете писать их в комментарии. -
Как очистить swap-файл (своп) в Linux CentOS
Виртуальная память в ОС Linux часто называется файлом подкачки и используется когда физическая память RAM заполнена. Когда системе нужная память и RAM-память заполнена неактивные страницы будут перемещены в swap-файл, к сожалению файл подкачки это не полноценная замена оперативной памяти, а всего лишь некоторый объем выделенного места на диске, который задается при установке операционной системы Linux.
Иногда система может зарезервировать место в swap-файле даже если в наличии есть достаточно оперативной памяти, это может быть вызвано тем, что неактивные страницы были перемещены в файл подкачки в момент когда был дефицит оперативной памяти RAM и не смогли вернуться в физическую память в нормальном состоянии
Если вы не уследили за заполнением оперативной памяти и данные начали свопиться в swap-файл то после исправления проблемы и остановки процесса жрущего память вам нужно будет очистить своп-файл и сделать это можно следующими командами:
Выключаем своп-файл для того, чтобы данные с него удалились командой в ssh консоли:
1swapoff -aПосле этого swap-файл нужно включить обратно, делаем это следующей командой в ssh консоли:
1swapon -aТакже для того, чтобы понять какой процесс загрузил swap раздел нужно запустить команду top (диспетчер процессов) и нажать F потом P потом клавишу Enter после этого вы увидите дополнительный столбец в top диспетчере и сможете отсортировать процессы по используемой памяти сочетанием клавиш Shift+M и далее по PID процесса удаляйте через команду kill -9 PID.
Если у вас возникнут трудности или вопросы, вы можете задать их в комментарии. -
Как восстановить hardlink-и логов пользователей в ISPmanager
Массовое восстановление хардлинков в папках /var/www/httpd-logs/ и /var/www/USERNAME /data/logs/ у пользователей панели ISPmanager
Это можно сделать одним простым способом через perl скрипт введенный прямо в командную строку:
1perl -e 'my $USERNAME="NOVALLNET";my @DOM=`ls /var/www/$USERNAME/data/www`; chomp @DOM; foreach (@DOM) { system("ln /var/www/httpd-logs/$_.access.log /var/www/$USERNAME/data/logs/$_.access.log && ln /var/www/httpd-logs/$_.error.log /var/www/$USERNAME/data/logs/$_.error.log"); }'В переменную USERNAME необходимо вставлять нужного пользователя из раздела “Пользователи” то есть того для, которого нужно восстановить логи, в нашем коде вписан NOVALLNET его и нужно заменить на имя вашего пользователя.
Если у вас файлы логов присутствуют на местах но логи туда не записываются удалите файлы логов из папки /var/www/USER/data/logs/ и затем запускайте скрипт он создаст хардлинки для логов автоматически.
-
РЕШЕНИЕ проблемы CentOS 6 “bash: scp: command not found”
У пользователей VPS серверов или выделенных серверов иногда возникает проблема при переносе файлов посредством SCP протокола, к примеру при попытке копирования с вашего старого сервера на новый вы получаете ошибку: “bash: scp: command not found” это обусловлено тем, что на вашем новом сервере не установлен SCP клиент. Решение это проблемы довольно простое и выглядит оно так, вам нужно установить пакет openssh-clients делается это командой:
1yum install openssh-clientsНет необходимости долго искать нужный пакет в котором будет включен SCP клиент это уже сделано за вас, просто запустите команду написанную выше. Если у кого-то возникнут проблемы, пишите в комментарии постараюсь вам помочь.