Discussion:
[GENERAL] pg_archivecleanup standalone bash script
(too old to reply)
Patrick B
2016-07-31 22:11:43 UTC
Permalink
Hi all,

I want to hold the wal_files for 30 days on my slaves.
For that reason, I created a script to do that:

*pg_archivecleaup_mv.bash:*

#!/bin/bash -eu


declare -r -x PATH='/usr/local/bin:/usr/bin:/bin';


# We just wanna delete the wal_files older than 30 days

ARCHIVEDIR='/var/lib/pgsql/9.2/archive/'

CHKPOINT=$(find $ARCHIVEDIR -type f -mtime +30 -name '00*' -printf '%f\n' |
sort -r | head -1)


cd $ARCHIVEDIR

/usr/pgsql-${PG_VERSION}/bin/pg_archivecleanup $ARCHIVEDIR $CHKPOINT

find $ARCHIVEDIR -type f -mtime +30 -a -name '00*' -a ! -newer $CHKPOINT
-delete

*recovery.conf:*

archive_cleanup_command = 'exec nice -n 19 ionice -c 2 -n 7
../../bin/pg_archivecleaup_mv.bash -d /var/lib/pgsql/9.2/archive "%r"'


*PROBLEM:*
pg_archivecleanup: must specify restartfilename
Try "pg_archivecleanup --help" for more information.
archive_cleanup_command "exec nice -n 19 ionice -c 2 -n 7
../../bin/pg_archivecleaup_mv.bash -d "../archive" "%r"": return code 512
And I can't figure out what is wrong....


Please, do you guys can help?
Cheers;
Patrick
David G. Johnston
2016-08-01 00:26:38 UTC
Permalink
Post by Patrick B
CHKPOINT=$(find $ARCHIVEDIR -type f -mtime +30 -name '00*' -printf '%f\n'
| sort -r | head -1)
/usr/pgsql-${PG_VERSION}/bin/pg_archivecleanup $ARCHIVEDIR $CHKPOINT
​While I'm a bit suspect of this entire script/approach I believe the
problem plaguing you at the moment is that your find command is not finding
any files and thus your attempt to execute pg_archivecleanup only occurs
with a single argument - which is an error.

For something this important I would advise considerably more debugging
output and explicit error handling. Don't rely on set -e

On a related note - I don't understand why you'd use the "exec" command
here...

David J.
​
Patrick B
2016-08-01 00:54:35 UTC
Permalink
This has been resolved.

cheers
Alvaro Herrera
2016-08-01 15:52:20 UTC
Permalink
Post by Patrick B
This has been resolved.
How?
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
--
Sent via pgsql-general mailing list (pgsql-***@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Patrick B
2016-08-02 20:32:29 UTC
Permalink
I'll ajust the script and once is done will share here with u guys


Patrick

Loading...