File: mysql-server.logrotate

package info (click to toggle)
mysql-dfsg 4.0.24-10sarge3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 56,212 kB
  • ctags: 42,312
  • sloc: ansic: 257,918; cpp: 93,002; perl: 29,480; sh: 24,628; tcl: 19,882; yacc: 3,558; makefile: 2,452; java: 2,300; awk: 1,484; asm: 687; sed: 428; sql: 27
file content (34 lines) | stat: -rw-r--r-- 1,116 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#
# - This script rotates the normal query-log and the slow-log files. 
#   Binary-log rotation is configured in /etc/mysql/debian-log-rotate.conf
# - All files should be in one block so that only one flush-logs is neccessary.
# - The error log is obsolete, messages go to syslog now.
/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql.err /var/log/mysql/mysql.err /var/log/mysql/mysql-slow.log {
	daily
	rotate 7
	missingok
	create 640 mysql adm
	compress
	sharedscripts
	postrotate
		test -x /usr/bin/mysqladmin || exit 0

		# If this fails, check debian.conf! 
		export HOME=/etc/mysql/my.cnf
		MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
		if [ -z "`$MYADMIN ping 2>/dev/null`" ]; then
		  # Really no mysqld or rather a missing debian-sys-maint user?
		  # If this occurs and is not a error please report a bug.
		  if ps cax | grep -q mysqld; then
 		    exit 1
		  fi 
		else
		  $MYADMIN flush-logs
		fi
		errlogs=`ls /var/log/mysql.err* /var/log/mysql/mysql.err* 2>/dev/null`
		if [ -n "$errlogs" ]; then 
		  chown root:adm $errlogs
		  chmod 640 $errlogs
		fi
	endscript
}