Полезные SSH-команды
Архивация/Распаковка
tar -zcvf имя_архива.tar.gz архивируемая_папка
Флаги означают:
c
— создание архиваv
— вывод информации о процессе в консольf
— задание имени архиваx
— распаковка архиваt
— посмотреть содержимое архива
Если необходимо исключить некоторые директории из архива, например, кэш сайта, то можно использовать параметр --exclude
. Его необходимо указать после имени файла архива, но до имени архивируемого каталога. Если используются символы * или ?, нужно брать значение параметра в одинарные апострофы, чтобы они передавались в tar как есть, иначе оболочка пытается подставить вместо них полный список файлов. Пример:
tar -zcvf имя_архива.tar.gz --exclude='bitrix/managed_cache/*' --exclude='logs/*' архивируемая_папка
Для распаковки архива используйте флаг x
вместо c
. Для полной распаковки указывается только имя архива. Если необходимо распаковать конкретную папку или файл, можно указать название папки или файла:
tar -zxvf имя_архива.tar.gz /название_папки/название_файла
Чтобы указать конечную директорию, в которую будет распакован архив, используется дополнительный параметр -C
:
tar -zxvf имя_архива.tar.gz -C /название_папки
Для просмотра содержимого архива без распаковки используйте флаг t
.
Диагностика занимаемого пространства
Проверить занятое и свободное пространство: команда df -h /
Проверить, сколько занимает та или иная папка du -hs /*
Вместо /*
можно указывать директорию, относительно которой будет отображаться размер дочерних папок, например, /usr/*
Установка прав на файлы и папки
Найти все директории и установить для них права 755: find . -type d -exec chmod 0755 {} ';'
Для файлов: find . -type f -exec chmod 0644 {} ';'
Задать пользователя и группу: chown -R user:group ./
Sudo
На некоторых боевых конфигурациях серверов многие команды не будут работать без входа в sudo режим. Для этого нужно написать sudo su
и ввести пароль юзера.
Копирование файлов
Иногда требуется скопировать все файлы и папки из одной папки в другую. Для этого можно использовать команду: cp -av /source/. /dest/
Флаги означают:
a
— сохранять все атрибуты, ссылки, и копировать рекурсивноv
— вывод информации о процессе в консоль
Копировать файлы можно и с одного сервера на другой, например, когда нужно перенести сайт. Формируется бэкап на сервере (см.выше Архивация файлов), и переносится путём одной простой командой: scp username@host:/remote/path/filename /dest/path/
. После ввода команды потребуется лишь указать пароль к удалённому серверу. Таким образом можно переносить файлы с удалённого сервера на свой, и обратно.
Ограничения: на сервере должна быть доступна утилита scp, а также ssh-доступ под паролем без дополнительных ключей безопасности.