PG 自動刪除archivelog

smartqiu發表於2021-10-14

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部落格 ” ,連結:http://blog.itpub.net/70008134/viewspace-2808370/,如需轉載,請註明出處,否則將追究法律責任。

相關文章