Файл xferlog содержит информацию о регистрации на FTP-сервере proftpd.
Расположение этого файла, определяется директивой TransferLog в конфигурационном файле proftpd-сервера(по умолчанию находится в /var/log)
Каждая запись сервера состоит из одной строки и все поля разделены пробелами.
Разбор полей файла xferlog на примере
1 |
Wed Jul 12 02:47:14 0 192.168.1.120 10793 /home/myftpuser/backup/1.pdf b _ i r myftpuser ftp 0 * c |
1.Текущее время в формате DDD MMM dd hh:mm:ss YYYY
1 |
Wed Jul 12 02:47:14 2017 |
2.Длительность трансфера в секундах
1 |
Ноль |
3.Удаленный хост, который подключается к FTP-серверу
1 |
192.168.1.120 |
4.Размер файла в байтах
1 |
10793 |
5.Имя переданного файла с указанием абсолютного пути к файлу
1 |
/home/myftpuser/backup/1.pdf |
6.Тип передачи
1 |
b |
1 2 |
- a (для передачи файлов в ASCII-формате) - b (для передачи файлов в бинарном формате) |
7.Флаг специального действия
1 |
_ |
1 2 3 4 |
- C (файл был сжат) - U (файл был рассжат) - T (файл был заархивирован) - _ (никаких действий не произведено) |
8.Направления трансфера
1 |
i |
1 2 3 |
- o (исходящий трансфер) - i (входящий трансфер) - d (удаление файла) |
9.Метод доступа
1 |
r |
1 2 |
- a (анонимный) - r (аутентификация по логину и паролю) |
10.Имя пользователя
1 |
myftpuser |
Если гость, то указывается идентификатор пользователя ID
11.Имя сервиса принявшего файл (обычно ftp)
1 |
ftp |
12.Метод аутентификации
1 |
Ноль |
1 2 |
- 0 (никакой(без аутентификации)) - 1 (RFC931 аутентификация) |
13.Идентификатор пользователя возвращаемый методом аутентификации (указанным выше параметром)
1 |
* |
Если идентификатор пользователя недоступен/не использовалась аутентификация(параметр метод аутентификации имеет значение 0), то используется символ * (звездочка).
14.Статус трансфера
1 |
c |
1 2 |
- c (трансфер завершен) - i (трансфер прерван/незавершен) |
Примеры использования xferlog
Просмотр списка удаленных файлов
1 |
# grep "_ d" /var/log/proftpd/xferlog | awk '{print $9}' |
1 |
# awk '/_ d/ {print $9}' /var/log/proftpd/xferlog |
Просмотр списка всех успешно загруженных файлов
1 |
# grep c$ /var/log/proftpd/xferlog | awk '{print $9}' |
1 |
# awk '($12 ~ /^i$/ && $NF ~ /^c$/){print $9}' /var/log/proftpd/xferlog |
Просмотр списка всех неуспешно загруженных файлов
1 |
# grep i$ /var/log/proftpd/xferlog | awk '{print $9}' |
1 |
# awk '($12 ~ /^i$/ && $NF ~ /^i$/){print $9}' /var/log/proftpd/xferlog |
Источник:
1. man xferlog
2. https://ego-blog.ru/3-2