Вот пример вывода файла журнала:
Feb 26 23:04:55 pegasus internal-sftp[32524]: session opened for local user joeuser from [123.123.123.123]
Feb 26 23:04:57 pegasus internal-sftp[32524]: opendir "/home/joeuser"
Feb 26 23:04:58 pegasus internal-sftp[32524]: closedir "/home/joeuser"
Feb 26 23:05:01 pegasus internal-sftp[32524]: opendir "/home/joeuser/"
Feb 26 23:05:01 pegasus internal-sftp[32524]: closedir "/home/joeuser/"
Feb 26 23:05:02 pegasus internal-sftp[32524]: opendir "/home/joeuser/upload"
Feb 26 23:05:02 pegasus internal-sftp[32524]: closedir "/home/joeuser/upload"
Feb 26 23:05:07 pegasus internal-sftp[32524]: opendir "/home/joeuser/upload"
Feb 26 23:05:07 pegasus internal-sftp[32524]: closedir "/home/joeuser/upload"
Feb 26 23:05:09 pegasus internal-sftp[32524]: session closed for local user joeuser from [123.123.123.123]
Если вы обратили внимание на вывод выше, там будет номер в квадратных скобках internal-sftp [32524]
. Номер - 32524. Он представляет собой идентификатор сеанса для пользователя joeuser, поэтому вы можете использовать эту строку вместе с сообщениями, относящимися к логину какого пользователя.
Вы можете изменить расписание ротации журналов для различных журналов в /etc/logrotate.d / *
. Каждый файл журнала обычно имеет соответствующий файл в этом каталоге. Таким образом, вы можете изменить там файл syslog
, например, или создать свой собственный файл журнала sftp.log
.
Также logrotate
имеет файл конфигурации, /etc/logrotate.conf
, который содержит следующие строки:
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
Это то, что файлы в / etc / logrotate .d
, если у них нет собственных настроек. Таким образом, большинство файлов меняются еженедельно, а 4 из них хранятся. Если вы хотите сохранить 6 месяцев, это будет 4 * 6 = 24 для варианта ротации
, чтобы сохранить примерно 6 месяцев.
Если вы входите в /var/log/sftp.log
через syslog
, вам необходимо внести изменения в этот файл, /etc/logrotate.d/syslog
.После внесения необходимых изменений ваш файл будет выглядеть следующим образом:
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
/var/log/sftp.log
{
rotate 24
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
Поскольку вы используете syslog
, вам также придется чередовать все эти файлы журналов, сохраните их на 24 недели. Если это неприемлемо, то ваш единственный другой способ действий - создать отдельный раздел в этом файле, syslog
, например так:
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
/var/log/sftp.log
{
rotate 24
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
Это имеет некоторые побочные эффекты, один из которых заключается в том, что вы будете перезапускать демон syslog
2 раза в неделю вместо одного раза. Но синтаксис logroate не позволяет точно управлять расписанием ротации для одних файлов журналов, не меняя ротацию других, когда файлы журналов создаются одной и той же службой, то есть syslog
.
Он ограничивает место, куда копируются файлы из , а не место, куда они копируются. Это полезно при рекурсивных копиях, чтобы контролировать, как cp
спускается в подкаталоги. Таким образом
cp -xr / blah
будет копировать только корневую файловую систему, а не какие-либо другие смонтированные файловые системы.
См. документацию cp -x
(, хотя различие между ними тонкое ).
Флаг -x
для cp
является расширением GNU. При копировании одного файла этот параметр не действует, но при копировании всей файловой иерархии параметр -x
предотвращает копирование файлов и каталогов, которые не находятся в той же файловой системе, что и исходный источник.
Например, в файловой системе с точками монтирования /usr
и /usr/local
использование cp -xR /usr /some-dest
не приведет к копированию иерархии под /usr/local
.
Существуют и другие утилиты с опцией -x
с аналогичной семантикой, такие как du
иfind
(флаг называется -xdev
дляfind
)и rsync
.