This shows you the differences between two versions of the page.
— |
client_specific_log [2020/04/10 17:38] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | **Client specific Log** | ||
+ | ====== Introduction ====== | ||
+ | |||
+ | When diagnosing a problem, Samba developers are likely to request a level 10 log file. | ||
+ | |||
+ | There are different reasons for creating client specific log files: | ||
+ | * If the error appears only on specific clients and you won't change the config for all clients. | ||
+ | * If you're running Samba with many clients level 10 logs can fill your disk space very fast and slow down your system. | ||
+ | |||
+ | |||
+ | ====== Configuring client specific Log ====== | ||
+ | ---- | ||
+ | |||
+ | Create a new config file /etc/samba/smb.conf.client-debug | ||
+ | <code> | ||
+ | [global] | ||
+ | # no log file size limitation | ||
+ | max log size = 0 | ||
+ | # specific log file name | ||
+ | log file = /var/log/samba/log.%I | ||
+ | # set the debug level | ||
+ | log level = 10 | ||
+ | # add the pid to the log | ||
+ | debug pid = yes | ||
+ | # add the uid to the log | ||
+ | debug uid = yes | ||
+ | # add the debug class to the log | ||
+ | debug class = yes | ||
+ | # add microsecond resolution to timestamp | ||
+ | debug hires timestamp = yes | ||
+ | </code> | ||
+ | |||
+ | Add the following line to your smb.conf (/usr/local/samba/etc/smb.conf) at the end of the global section: | ||
+ | <code> | ||
+ | include = /etc/samba/smb.conf.client-%I | ||
+ | </code> | ||
+ | |||
+ | To activate level 10 logging for e.g. client 10.12.2.70 create a symbolic link: | ||
+ | <code> | ||
+ | ln -s /etc/samba/smb.conf.client-debug /etc/samba/smb.conf.client-10.12.2.70 | ||
+ | </code> | ||
+ | |||
+ | You do not have to restart all of Samba. If the client 10.12.2.70 connects to your samba the smbd includes the /etc/samba/smb.conf.client-10.12.2.70 config file and writes the debug information to /usr/local/samba/var/log/log.10.12.2.70. These changes will have no effect to other clients except 10.12.2.70. For additional clients you can simply create additional symlinks. | ||
+ | |||
+ | For changing the log level temporary you can use smbcontrol runtime: | ||
+ | <code> | ||
+ | # set debug level for all smbd | ||
+ | smbcontrol smbd debug 10 | ||
+ | |||
+ | # set debug level for process with pid 12345 | ||
+ | smbcontrol 12345 debug 10 | ||
+ | |||
+ | # request debug level for process with pid 12345 | ||
+ | smbcontrol 12345 debuglevel | ||
+ | </code> |