Задействованные команды (все ранее изученные)
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
-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