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
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70008134/viewspace-2808370/
,如需转载,请注明出处,否则将追究法律责任。