Сисадминистрирование: команды BitrixVM, да и вообще команды Linux

Я не сисадмин, это шпаргалка для меня. Я плохо разбираюсь в командах, но надо.

перезагузить сервер
вариант 1 (не везде работает)
systemctl restart httpd
вариант2
в команденой строке
reboot
посмотреть текущие процессы
top

убить процесс
kill -сигнал pid_процесса
pid процесса видно в топ
сигнал (можно не указывать, по умолчанию SIGTERM):
  • SIGINT - самый безобидный сигнал завершения, означает Interrupt. Он отправляется процессу, запущенному из терминала с помощью сочетания клавиш Ctrl+C. Процесс правильно завершает все свои действия и возвращает управление;
  • SIGQUIT - это еще один сигнал, который отправляется с помощью сочетания клавиш, программе, запущенной в терминале. Он сообщает ей что нужно завершиться и программа может выполнить корректное завершение или проигнорировать сигнал. В отличие от предыдущего, она генерирует дамп памяти. Сочетание клавиш Ctrl+/;
  • SIGHUP - сообщает процессу, что соединение с управляющим терминалом разорвано, отправляется, в основном, системой при разрыве соединения с интернетом;
  • SIGTERM - немедленно завершает процесс, но обрабатывается программой, поэтому позволяет ей завершить дочерние процессы и освободить все ресурсы;
  • SIGKILL - тоже немедленно завершает процесс, но, в отличие от предыдущего варианта, он не передается самому процессу, а обрабатывается ядром. Поэтому ресурсы и дочерние процессы остаются запущенными.
MySQL
Запуск сервера
/etc/init.d/mysqld start
остановка
/etc/init.d/mysqld stop
перезагрузка
/etc/init.d/mysqld restart
или так
service mysqld start
service mysqld stop
service mysqld restart
Открыть порты в телефонии
для файервола iptables
iptables -I INPUT -p udp --dport 3478 -j ACCEPT
iptables -I INPUT -p udp --dport 5060 -j ACCEPT
iptables -I INPUT -p tcp --dport 3478 -j ACCEPT
iptables -I INPUT -p tcp --dport 5060 -j ACCEPT
iptables -I INPUT -p udp --dport 8000:48000 -j ACCEPT
запишется в /etc/sysconfig/iptables
CURL поставить
  1. yum install php-curl
  2. Пакет установлен, но не факт что подключено расширение php
  3. ls /etc/php.d/ (посмотреть)
  4. Скорее всего там будет лежать файл curl.ini.disabled
  5. mv /etc/php.d/curl.ini.disabled /etc/php.d/curl.ini   mv /etc/php.d/20-curl.ini.disabled /etc/php.d/20-curl.ini (у меня такие название были)
  6. systemctl restart httpd.service (или просто reboot)
для гита
sudo -i
cd /home/bitrix/ext_www/git.#####.com/public
git checkout urlrewrite.php

установить пакет пхп с помощью composer
переходим в папку с  composer.json
для билда
sudo -i
cd /disk/builds/sites/composer/
sudo -i
cd /home/bitrix/ext_www/composer/

для билда в файле composer.json меняем билд на нужный
смотрим пакеты, если есть нужный, то в командной строке
composer install
если нет, то идем на https://packagist.org/explore/ ищем название нужного пакета, например, slothsoft/unity
composer require slothsoft/unity


Операции с файлами
lsпоказать список файлов и каталогов
ls -alпоказать все файлы на сервере (даже скрытые) + размер + владельца + права на фалы + дату изменения
cd директорияперейти в указанную директорию;
cdперейти в домашний каталог
pwdпоказать текущую папку
mkdir директориясоздать папку "директория"
rm имя_файлаудалить файл с именем имя_файла
rm -r диреторияудалить папку "директория"
cp файл1 файл2скопировать файл1 в файл2
cp -r папка1 папка2скопировать папка1 в папка2
touch файлсоздать файл и с именем "файл"
cat > файлнаправить стандартный ввод в "файл"
more файлпоказать содержимое файл
head файлпоказывает первые 10 строк из файла
tail файлпоказывает последние 10 строк из файла
скопировать
cp /home/veronika/file.exe /home/bitrix/ext_www/git.#####.com/public/upload/products/file.exe
примеры по команде mv https://pingvinus.ru/note/cmd-mv
Переместить папку, файл
Переместить файл file.txt в директорию dir1/ (директория должна существовать)
mv file.txt dir1/
если несколько файлов
mv file.txt file1.txt file2.txt dir1/
если все файлы текущей директории
mv * dir1/

Переименовать папку, файл
Переименовать файл file.txt в file2.txt
mv file.txt file2.txt
Переименовать директорию dir1 в dir2
mv dir1 dir2
Или Midnight Commander - консольный файловый менеджер для Linux
mc


Работа с процессами
psпоказывает текущие процессы, которые активны
topпоказывает все процессы
kill процессубивает процесс с id "процесс"
killall процубивает все процессы с именем проц
bgпоказывает список фоновых задач, а также остановленных;
bg процесспродолжит выполнение остановленного процесса в фоне
Операции с правами доступа к файлам
chmod 755 файлзадает права 755 для файла
find /path/to/dir -type f -exec chmod 0644 {}укажет права 644 на все файлы на сервере
find /path/to/dir -type d -exec chmod 0755 {}укажет права 755 на все папки на сервере

Информация о системе
dateпоказать время и дату
calпоказать календарь
uptimeпроверить аптайм (время безотканой работы)
wпокажет количество пользователей, которые в данный момент используют сервер
whoamiпокажет Ваш логин
finger юзерпокажет инфу о пользователе "юзер"
uname -aинформация про ядро
cat /proc/cpuinfoинформация про CPU
cat /proc/meminfoинформация про память
man командапокажет все о команде
dfинформация о дисках
duпокажет, сколько памяти занимает текущий каталог
freeсколько памяти используется
whereis программанайдет место расположения программы
which программаопределеяет, что "программа" будет запущена первой
vmstatпокажет загрузку процессора

Работа с системой и базами данных
apachectl restartперезапуск сервера Apache
apachectl startsslзапуск сервера Apache
apachectl stopвыключение сервера Apache
/usr/local/etc/rc.d/mysql-server restartперезапуск MySQL
mysqldump -u имя_пользователя_БД -pпароль_пользователя_БД имя_бд > /полный/путь/бд.sqlсоздать копию базы данных бд.sql
mysql -u имя_пользователя_БД -pпароль_пользователя_БД -D имя_бд < /полный/путь/бд.sqlимпортировать бд.sql в базу данных mysql на сервере
exitвыйти из системы
rebootперезапуск сервера

Работа с архивами
tar cf myfile.tar файлызапаковать "файлы" в архив myfile.tar
tar xf myfile.tarразархивировать myfile.tar
tar czf myfile.tar.gz filesархивировать с использованием Gzip (особое сжатие на сервере)
tar xzf myfile.tar.gzразархивировать Gzip-файл
tar cjf myfile.tar.bz2архивировать с использованием Gzip
tar xjf myfile.tar.bz2разархивировать Bzip2-файл
gzip myfileзапаковать myfile и переименовать в его в myfile.gz
gzip -d myfile.gzраспаковать myfile.gz в myfile

Сеть
ping хостпоказывает пинг до хоста
whois домен.компоказывает WHOIS о домене "домен.ком"
dig домен.компоказывает на каких DNS находится домен "домен.ком"
wget myfileзакачивает на компьютер файл myfile
wget -c fileесли закачка была остановлена, то эта команда может ее продолжить
wget https://www.mysite.com/myfile.zipзагрузит файл из интернета (по адресу https://www.mysite.com/myfile.zip) в текущую директорию на сервере

Клавиши
Ctrl+Cпрекратить текущую команду
Ctrl+Dвыйти из системы\сменить пользоваателя (вместо этого можно использовать команду exit)
Ctrl+Uудаляет строку
Ctrl+Zостановка текущей команды и продолжить с fg или bg
Ctrl+Wудалить слово в текущей строке
!!повторяет последнюю команду
удалить вложенные файлы и папки, а саму папку оставить
sudo rm -rf /disk/builds/sites/build5/bitrix/cache/.*
sudo rm -rf /disk/builds/sites/build5/bitrix/cache/*
sudo rm -rf /disk/builds/sites/build5/bitrix/cache/*.*
посмотреть размер общий
du -sh /disk/builds/sites/build5/bitrix/
du -sh /var/lib/mysql/
посмотреть размер по подпапкам
du -h --max-depth=1 /disk/builds/sites/build5/bitrix/
du -h --max-depth=1 /var/lib/mysql/
интерактивная команда - ncdu  можно будет после выполнения ходить по подпапкам
ncdu /disk/builds/sites/build5/bitrix/ 
ncdu /var/lib/mysql/
посмотреть сколько вообще места
df -h
df -h /dev/sda1

DNS-кэш.
Очистите DNS-кэш на вашем компьютере и повторите попытку доступа на сайт через cmd
очистить содержимое кэш службы разрешения имен DNS
ipconfig /flushdns 
Для перезапуска службы DNSCache ( DNS-клиент) можно последовательно выполнить остановку и запуск службы.
net stop dnscache
net start dnscache
Чтобы очистить кэш в браузере, надо в поисковой строке вставить команду:
Chrome
chrome://net-internals/#dns;
Opera
opera://net-internals/#dns;
Яндекс:
browser://net-internals/#dns.


Чтобы настроить доступ по FTP на виртуальной машине (ВМ), сначала нужно установить FTP-сервер

Установите пакет FTP-сервера, например, vsftpd.
sudo apt-get update && sudo apt-get install vsftpd
После установки запустите службу:
sudo service vsftpd start
Затем нужно настроить фаервол:

FTP-сервер по умолчанию использует порт 21. Если у вас включен фаервол, откройте порт 21 для входящих соединений FTP.
sudo ufw allow 21/tcp
Затем стоит настроить FTP доступ:

Создайте пользователя, которому будет разрешен доступ по FTP на ВМ:
sudo adduser ftpuser
Назначьте пароль для нового пользователя:
sudo passwd ftpuser
Отредактируйте файл конфигурации FTP-сервера
sudo nano /etc/vsftpd.conf
Затем отредактируйте файл нижеуказанным образом, затем сохраните изменения, нажав Ctrl+X, затем Y и Enter
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
pasv_min_port=40000
pasv_max_port=50000
listen=NO
listen_ipv6=YES
Создайте каталог FTP для нового пользователя
sudo mkdir /home/ftpuser/ftp
Назначьте права на каталог
sudo chown nobody:nogroup /home/ftpuser/ftp
Перезапустите FTP-сервер:
sudo service vsftpd restart