diff options
author | tv <tv@krebsco.de> | 2025-06-17 11:16:13 +0200 |
---|---|---|
committer | tv <tv@krebsco.de> | 2025-06-17 11:16:45 +0200 |
commit | 67c19d64cb00485ef32dd9a89f6987cd20e76d01 (patch) | |
tree | 64e4d49dffa10930c3d3a6983243e460a8dfbe06 | |
parent | d97b985e4005e810a9ed2d2dde66081e49b91712 (diff) |
This fixes an issue causing ejabberd to abort with following error
message:
** FATAL ** {error,{"Cannot rename disk_log file",latest_log,
"/var/lib/ejabberd/PREVIOUS.LOG",
{log_header,trans_log,"4.3","4.20.4.1",
ejabberd@localhost,
{1665,261856,453060}},
{file_error,"/var/lib/ejabberd/PREVIOUS.LOG",erofs}}}
-rw-r--r-- | modules/ejabberd/default.nix | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/modules/ejabberd/default.nix b/modules/ejabberd/default.nix index f2da590..9607741 100644 --- a/modules/ejabberd/default.nix +++ b/modules/ejabberd/default.nix @@ -142,6 +142,17 @@ in { ExecStartPre = [ "${pkgs.coreutils}/bin/ln -s \${CREDENTIALS_DIRECTORY} /tmp/credentials" "${gen-dhparam} ${cfg.stateDir}/dhfile" + (pkgs.writeDash "ejabberd-ensure-PREVIOUS.LOG" '' + set -efu + cd ${cfg.stateDir} + if ! test -e PREVIOUS.LOG; then + if test -f LATEST.LOG; then + ${pkgs.coreutils}/bin/ln LATEST.LOG PREVIOUS.LOG + else + ${pkgs.coreutils}/bin/touch PREVIOUS.LOG + fi + fi + '') ]; ExecStart = "${cfg.pkgs.ejabberd}/bin/ejabberdctl foreground"; ExecStop = [ |