Symptoms
Log rotation doesn't rotate logs, resulting in no compressed
.gzfiles being created.Forcing log rotation for specific domain results in error
# /usr/local/psa/logrotate/sbin/logrotate -v -f /usr/local/psa/etc/logrotate.d/example.com
(...)
considering log /var/www/vhosts/system/example.com/logs/access_log.processed log /var/www/vhosts/system/example.com/logs/access_log.processed has multiple (2) hard links. Rotation of files with multiple hard links is not allowed for /var/www/vhosts/system/example.com/logs/*.processed -- skipping.
(...)
Cause
Product issues:
- #PPPM-13562 "Fixed the issue where log rotation failed for files with two or more hard links."
Fixed in:- Plesk Obsidian 18.0.60 02 April 2024 (Linux)
- #PPPM-13473 "Log rotation now works correctly after updating to Plesk Obsidian 18.0.42."
Fixed in:- Plesk Obsidian 18.0.43 12 April 2022 (Linux)
- #PPPM-13519 "Log rotation now works correctly after updating to Plesk Obsidian 18.0.43 even if /usr/local/psa/etc/logrotate.conf was customized."
Fixed in:- Plesk Obsidian 18.0.44 24 May 2022 (Linux)
Resolution
Workaround
If update is not possible for some reason you may try the following
workaround
Please consider updating your server:
Or:
If update is not possible for some reason, you may try the following
It is possible to use the sed command to add allowhardlink option to all logrotate config files.
Connect to the Plesk server via SSH.
Use the following command to apply the option to all logrotate configuration files:
# sed -i '/copytruncate/a allowhardlink' /usr/local/psa/etc/logrotate.d/*
Force rotation:
To rotate logs for a single domain:
# /usr/local/psa/admin/sbin/statistics --calculate-one --domain-name=example.com
To rotate logs for all domains:
# /usr/local/psa/bin/sw-engine-pleskrun /usr/local/psa/admin/plib/DailyMaintainance/script.php -f ExecuteStatistics