Пост-подсказка для работы с ssh (например, через putty).
Основные команды при работе с ssh
- ls – отобазить список папок и файлов текущего каталога;
- cd ххх – сменить папку на www;
- pwd — показать текущее местонахождение (папку);
- exit — выход.
Начнем с элементарного.
Перезагрузка апача по ssh (ребут apache)
- /etc/init.d/httpd restart
- управление службами (более низкоуровневый способ)
apachectl restart — перезапуск apache; apachectl startssl — запуск apache; apachectl stop — остановка apache
Как перезапустить базу данных mySql по ssh (перезагрузка мускуля)
- /usr/local/etc/rc.d/mysql-server restart
- управление службами (более низкоуровневый способ)
/usr/local/etc/rc.d/mysql-server restart — перезапуск mysql; /usr/local/etc/rc.d/mysql-server start — запуск mysql; /usr/local/etc/rc.d/mysql-server stop — остановка mysql
Как очистить оперативную память сервера по ssh
- echo 3 > /proc/sys/vm/drop_caches
Как перезагрузить сервер по ssh
- reboot
- или
shutdown -r
Как синхронизировать время сервера по ssh
- /usr/sbin/ntpdate -b ru.pool.ntp.org
- если скажет нет такой команды то сделать
yum install ntp -y
и снова выполнить предыдущую команду - для проверки времени следует использовать команду
date
Теперь посложнее.
Как найти вирус во всех файлах сервера по ssh
- grep -R -i «pocketbloke» /path/to/site/dir
где -R рекурсивно -i не учитывать регистр
Как массово сменить права на файлы в разных папках через ssh
- chmod -R xxx file
где -r — рекурсивно, т.е. включая все папки и файлы в указанной папке
ххх = набор прав для доступа к файлу/папке (0555, 0777 и пр.)
file = папка или файл. Для смены массово прав по всему домену нужно в данном случае указывать именно самую верхнуюю папку (/published/ или /www/ и т.д.)
Примеры:- проставить права 644 только на файлы:
find /path/to/dir -type f -exec chmod 0644 {} \; - проставить права 755 только на каталоги:
find /path/to/dir -type d -exec chmod 0755 {} \;
- проставить права 644 только на файлы:
Другие полезные команды для юниксовых систем
- df -h — отображение занятого/свободного места на серваке
- free -m — посмотреть текущее состояние оперативки сервака
- top — просмотр всех активных процессов сервера
- cat domain.com — просмотр информации о нужном домене сервера
- ping domain.com — пингуем нужный домен или ip
- mysql show databases — отображает все базы данных
Как разархивировать архив на сервере через ssh
- распаковать tar.gz ssh
tar xvf xxx.tar.gz -C ~/www/public_html
где x – разархивировать,
v – с выводом информации о распаковке,
f xxx.tar.gz – путь к архиву,
-C ~/www/public_html – папка для распаковки файлов. - распаковать zip ssh
unzip xxx.zip -d ~/www/public_html
где xxx.zip – путь к архиву,
-d ~/www/public_html/ – папка для распаковки файлов. - распаковать rar ssh
unrar x xxx.rar ~/www/site1/public_html
где xxx.rar – путь к архиву,
x – ключ для распаковки,
~/www/site1/public_html – папка для распаковки файлов. - распаковать gzip ssh, в текущую папку
gunzip xxx.gz
где xxx.gz – путь до архива.
Как заархивировать архив на сервере через ssh
- запаковать tar.gz ssh
tar -zcvf xxx.tar.gz xxx_folder/
где — c – флаг создания нового архива;
— f – имя архива;
— z – запаковка происходит архиватором gzip;
— v – отображать инфу об архивации
xxx_folder/ — путь для архивации. - запаковать zip ssh
zip -r xxx.zip xxx_folder/
где -r — запаковать включая все папки
xxx_folder/ — путь для архивации.
Михаил Мятов
Вчера сервер перевел часы. Синхронизация ничего не дала. Пришлось выполнять команду «yum update tzdata -y»
Михаил Мятов
http://detalk.ru/index.php?showtopic=7215 — работа с базами данных.
Ньюби
в ‘запаковать zip ssh’ под zip подразумевается каталог который будет архивироваться или что? Чего то у меня невыходит 🙁
Михаил Мятов
Удаление каталога с неограниченной вложенностью:
rm -rf /путь_к_каталогу/
Михаил Мятов
Как сменить владельца chmod файлов и папок по ssh с вложенностью?
chown -R Пользователь:Группа /путь_к_каталогу/
Михаил Мятов
Как вывести список изменявшихся файлов за последние несколько дней или месяцев?
find /path/to/dir -type f -mtime -90
— эта команда будет искать в указанной папке все новые и измененные файлы за последние 90 дней (3 месяца).
Михаил Мятов
Как посмотреть свободное место на сервере через ssh?
Сколько места занято и осталось свободным на жестком диске:
df -h
Сколько свободной памяти и какова загрузка процессора на сервере:
vmstat
Вячеслав
Смена CHMOD на файлы по SSH:
Директория
chmod 755 /home/web/example.com/html/files/
Файл
chmod 644 /home/web/example.com/html/sitemap.xml
Все файлы и вложенные директории
Для рекурсивной смены прав доступа нам понадобится флаг -R
chmod -R 755 /home/web/example.com/html/files/
Вячеслав
Массовая смена прав доступа
Формат команды
find {директория} -name «{имя файла}» -type {d|f} -exec chmod {права доступа} {} \;
Файлынаверх
Права доступа 0777 на все файлы .mp3
find /home/artemfedorov/domains -name «*.mp3» -type f -exec chmod 0777 {} \;
Права доступа 0644 на все файлы .jpeg
find /home/artemfedorov/domains -name «*.jpeg» -type f -exec chmod 0644 {} \;
Директориинаверх
Права доступа 0775 на все директории images
find /home/artemfedorov/domains -name «images» -type d -exec chmod 0775 {} \;
Объяснениенаверх
Команда find {FOLDERNAME} — как следует из названия, означает искать в указанной директории {FOLDERNAME}
Флаг −name устанавливает поиск по имени. Имя задается в кавычки «». Запись «*.mp3» — означает все файлы, название которых заканчивается на .mp3 (т.е. с расширением .mp3). Если бы звездочка не стояла, как в случае с установкой прав доступа для директории «images», ищется точное название указанное в кавычках.
Флаг −type — имеет 2 значения: f — поиск файлов; f — поиск директорий.
Флан −exec — запускает какую-либо команду, в нашем случае chmod {права доступа}. Вместо фигурных скобок — {}, подставляется найденный файл/директория и выполняется команда chmod. Запись \; — обязательный ограничитель для опции exec.
Михаил Мятов
Для поиска вирусов Вы можете использовать такую команду:
maldet -a /путь/к/файлам
И через некоторое время проверить результаты работы сканера можно так:
maldet —report цифра_сканирования, например:
maldet –report 060910-1533.34883
Для обновления антивируса следует набрать команду
maldet -u
Данный антивирус ищет:
1) трояны
2) mysql инъекции
3) шеллы
4) руткиты
Для установки софтины нужно вбить команды:
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
tar xfz maldetect-current.tar.gz
cd maldetect-*
./install.sh
vintweb
Очень выручили, отличная статья! СПАСИБО!