Несколько полезных команд для администрирования debian сервера

Найти последние 30 измененных файлов

Один из способов найти последние 10 измененных файлов в Debian-базированных системах - использовать команду "find". Пожалуйста, выполните следующую команду в терминале:

find . -type f -exec stat -c '%Y %n' {} + | sort -n -r | head -n 30

Найти файлы по шаблону

В Debian или любом другом Linux дистрибутиве вы можете воспользоваться командой find для поиска файлов по шаблону. Чтобы найти все файлы, соответствующие шаблону "files.mail*", выполните следующую команду в терминале:

find / -type f -name 'files.mail*'

Скопировать файл с сервера 

Чтобы скопировать файл с удаленного сервера на локальный компьютер через протокол ssh, выполните следующую команду в терминале windows:

scp root@name.server:/var/backup/dir/dir_2023_01_01/name_2023_01_01.tar.gz d:/scp root@name.server:/var/backup/db/db_2023_01_01/dbname_2023_01_01.sql.gz d:/

Выбрать 10 самых часто встречающихся IP-адресов из файла access.log

Чтобы выбрать 10 самых часто встречающихся IP-адресов из файла access.log, можно использовать команду awk в сочетании с sort и uniq в командной строке Unix. Вот пример команды, которая выполняет эту задачу:
 

awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 10

Выбрать 50 самых часто встречаемых IP адресов за последние 10 минут, отобразить их и подготовить список для блокировки

#!/bin/bash
# Установите временной диапазон
ten_minutes_ago=$(date -d "10 minutes ago" +"%d/%b/%Y:%H:%M:%S")
count=50
echo "========== $count =========="
# Фильтруем логи за последние 10 минут и обрабатываем их
awk -v time="$ten_minutes_ago" '$0 > time {print $1}' sitename.access.log | sort | uniq -c | sort -nr | head -n "$count"
echo "========== $count =========="
# Фильтруем логи за последние 10 минут, обрабатываем их и преобразуем в нужный формат
awk -v time="$ten_minutes_ago" '$0 > time {print $1}' sitename.access.log | sort | uniq -c | sort -nr | head -n "$count" | awk '{split($2, a, "."); print "deny " a[1]"."a[2]"."a[3]".0/24;"}' | sort -u

Размер папки в гигабайтах

du -sh --block-size=1G /var/www/projects/name