是否可以手动运行一个logrotate检查?
是否有可能手动运行一个logrotate的迭代,而不是在一定的时间间隔安排它?
是的: logrotate --force $CONFIG_FILE
logrotate -d [your_config_file]
调用debugging模式,给你详细描述将会发生什么,但是保持日志文件不变。
如果您想要强制运行一个特定的目录或守护进程的日志文件,通常可以在/etc/logrotate.d
findconfiguration,它们将独立运行。
请记住,在/etc/logrotate.conf
中/etc/logrotate.conf
全局configuration不适用,所以如果你这样做,你应该确保你在/etc/logrotate.d/[servicename]
configuration文件中指定了所有的选项。
你可以用-d
来试试看看会发生什么:
logrotate -df /etc/logrotate.d/nginx
然后你可以运行(以nginx为例):
logrotate -f /etc/logrotate.d/nginx
单独的nginx日志将被旋转。
您可能需要以verbose + force模式运行它。
logrotate -vf /etc/logrotate.conf
运行所有logrotate的方法是:
logrotate -f /etc/logrotate.conf
这将运行主要的logrotate文件,其中还包括其他的logrotateconfiguration
发出以下命令,以运行指定的logrotate的方式:
logrotate -vf /etc/logrotate.d/custom
选项:
-v:显示进程
-f:强制运行
自定义:用户定义的日志设置
例如:mongodb-log
# mongodb-log rotate /data/var/log/mongodb/mongod.log { daily dateext rotate 30 copytruncate missingok }
创build了一个shell脚本来解决这个问题。
http://www.ict.griffith.edu.au/anthony/software/#logrotate_one
该脚本将运行“/etc/logrotate.d”中的单个logrotate子configuration文件,但在全局configuration文件“/etc/logrotate.conf”中包含全局设置。 您也可以使用其他otpionstesting它…
例如…
logrotate_one -d syslog
编辑/var/lib/logrotate.status重置要testing的日志文件上的“上次旋转”date。
然后运行logrotate YOUR_CONFIG_FILE
。
或者你可以使用–force标志,但是编辑logrotate.status可以让你更精确地知道什么和不会被旋转。