PG 自动删除archivelog

来源:这里教程网 时间:2026-03-14 20:25:31 作者:

liniux 版本

#!/bin/bash

ARCHIVEDIR='/data/pgdata/archive'

archive_point=$(find $ARCHIVEDIR -type f -mtime +3 -name '*backup' -printf '%f\n' | sort -r | head -1)
cd $ARCHIVEDIR
/opt/pgsql/bin/pg_archivecleanup $ARCHIVEDIR $archive_point
find   $ARCHIVEDIR/*.backup   -mtime +3 -exec rm -f {} \;

windows 版本

rem 设置文件所在目录
set src_dir=D:\tools\postgres\data\archive
rem filename用于存放目标文件名
set filename=""
cd /d %src_dir%
for /f %%a in ('dir /o-d  /b *.backup') do (
echo 文件完整信息: %%a
set filename=%%~na%%~xa
if not !filename! == ""  (
goto  archclean
)
)
:archclean
D:\tools\postgres\bin\pg_archivecleanup   D:\tools\postgres\data\archive   %filename%
forfiles /p "D:\tools\postgres\data\archive" /s /m *.backup  /d -3 /c "cmd /c del @path"
pause

相关推荐