🔖 Справочник команд урока 31

К оглавлению урока

⚡ Ключевые команды проекта

# Подключение и диагностика сервиса
ssh -i ich.pem ec2-user@18.192.103.67
sudo service httpd status
sudo service httpd start

# Диск и большие файлы
df -h
find / -type f -size +100M -exec du -h {} +

# Очистить лог (правильный способ)
sudo truncate -s 0 /var/log/httpd/access_log

# Копирование файла с пробелами в имени
cp /home/ec2-user/LocalSettings\ \(5\).php /var/www/html/mediawiki/LocalSettings.php

# Cron и скрипт
crontab -l        # посмотреть задания
sudo crontab -e   # редактировать задания root
chmod +x backup_logs.sh
crontab -e        # добавить: 0 0 * * * /home/ec2-user/backup_logs.sh
Урок 31 — финальный проект: новых команд не вводится. Все команды — ранее изученные. Задача — применить их в реальном сценарии восстановления сервера.

Задействованные команды (все ранее изученные)

ssh

Подключение к удалённому серверу по SSH с ключом. Используется для входа на EC2-сервер.

ssh -i ich.pem ec2-user@18.192.103.67

service / systemctl

Управление системными сервисами (httpd).

sudo service httpd status   # статус сервиса
sudo service httpd start    # запустить сервис
sudo service httpd restart  # перезапустить

df

Информация о дисковом пространстве файловых систем.

df -h        # human-readable: G, M, K
df -h /      # только корневой раздел

find

Поиск файлов по критериям. Ключ -size +100M — файлы больше 100 МБ.

find / -type f -size +100M
find / -type f -size +100M -exec du -h {} +

# В backup_logs.sh: удалить старые архивы
find "$BACKUP_DIR" -type f -name "*.tar.gz" -mtime +3 -exec rm {} \;

du

Размер файлов и директорий.

du -h /var/log/httpd/access_log   # размер конкретного файла
du -ah / | sort -rh | head -n 10  # топ-10 самых больших

cp

Копирование файлов. В проекте — копирование LocalSettings.php с пробелами в имени источника.

cp /home/ec2-user/LocalSettings\ \(5\).php \
   /var/www/html/mediawiki/LocalSettings.php

cat

Просмотр содержимого файлов. Используется для проверки error_log и конфигурации.

cat /var/log/httpd/error_log
grep "No space" /var/log/httpd/error_log

grep

Поиск в текстовых файлах. Используется для поиска ошибок в логах и конфигах.

grep "No space" /var/log/httpd/error_log
grep "wgServer" /var/www/html/mediawiki/LocalSettings.php

vi

Текстовый редактор. Используется для исправления $wgServer в LocalSettings.php.

vi /var/www/html/mediawiki/LocalSettings.php
# В vi: /%s/18.153.51.162/18.192.103.67/g  — замена IP

crontab

Управление заданиями планировщика cron.

crontab -l             # просмотр текущих заданий
crontab -e             # редактирование заданий
sudo crontab -l        # задания пользователя root
⚠️ ОПАСНО: crontab -r — удаляет ВСЕ задания crontab без подтверждения. Не путать с -e (редактировать)!

tar

Архивация файлов. В скрипте backup_logs.sh — создание архива access_log.

tar -czf archive.tar.gz /var/log/httpd/access_log
# -c создать  -z gzip-сжатие  -f имя файла

chmod

Установка прав доступа. Для скрипта backup_logs.sh нужно добавить право исполнения.

chmod +x /home/ec2-user/backup_logs.sh

rm

Удаление файлов. В скрипте — удаление старых архивов.

rm /path/to/old-archive.tar.gz

→ Полный справочник Linux-команд