0

我在我的 Ruby on Rails 应用程序中使用 PostgreSQL 数据库。我使用以下命令手动创建数据库的备份。

pg_dumpall -c --inserts -f ~/Desktop/pgdumpall_`date +%Y%m%d_%H%M%S`.sql

我想安排这个命令每隔几个小时执行一次。

我做了很多网络搜索,包括这里。我找到了有关 PgAgent 的文档。我目前使用最新版本的 PgAdmin,文档中说它可用于维护 PgAgent。

我刚刚下载了最新版本。当我阅读 README 中的安装说明时,除了下载/安装缺少的应用程序之外,我不明白该怎么做。我已将它们包括在下面。

This document describes the compilation of pgAgent, a job scheduler for 
PostgreSQL.

pgAgent is managed using pgAdmin (http://www.pgadmin.org). The pgAdmin 
documentation contains details of the setup and use of pgAgent with your
PostgreSQL system. The latest build of the documentation can be found at
http://www.pgadmin.org/docs/dev/pgagent.html.

Building pgAgent
----------------

You will need:

- A C/C++ compiler, such as GCC or Microsoft Visual C++ on Windows.
- CMake 2.6 (from www.cmake.org)
- A wxWidgets 2.8.x installation, configured per the requirements for
  pgAdmin:
  http://git.postgresql.org/gitweb/?p=pgadmin3.git;a=blob_plain;f=INSTALL;hb=HEAD
- A PostgreSQL 8.3 or higher installation

1) Unpack the pgAgent source code
2) Create a build directory in which the code will be built.
3) Run ccmake from the build directory (on Windows, use the CMake graphical
   interface). By default, ccmake will generate Unix Makefiles - consult the 
   documentation if you wish to generate other types of output:

$ ccmake /path/to/pgagent

4) If required, press 'c' to generate a default configuration:

CMAKE_BUILD_TYPE                 Release
CMAKE_INSTALL_PREFIX             /usr/local
CMAKE_OSX_ARCHITECTURES          ppc;i386
CMAKE_OSX_SYSROOT                /Developer/SDKs/MacOSX10.5.sdk
PostgreSQL_CONFIG_EXECUTABLE     /usr/local/pgsql/bin/pg_config
wxWidgets_CONFIG_EXECUTABLE      /usr/local/bin/wx-config
wxWidgets_USE_DEBUG              OFF
wxWidgets_USE_STATIC             ON
wxWidgets_USE_UNICODE            ON
wxWidgets_wxrc_EXECUTABLE        /usr/bin/wxrc

5) Use the ccmake interface to adjust any settings as required. When configured
   as required, press 'c' to re-configure (if required) and 'g' to generate the 
   build files and exit.

6) Run 'make' to build pgAgent on Mac or Unix, or open the generated project
   files in VC++ on Windows and build the solution in the desired configuration.

我已经从 Xcode 的命令行工具中获得了 GCC。我已经安装了 CMake 应用程序。我正在运行 PostgreSQL 9.4。我已经下载了 wxMac,但我不知道如何处理它。说明说它适用于 OS X 10.6 及更高版本,但文档仅适用于 Snow Leopard。除非有人在运行 Lion 或更高版本的 Mac 计算机上使用它,否则我无法安装它。

我为 PgAgent 找到的大部分内容都是针对 Windows 用户的。是否有其他更容易在 Mac(英特尔)上实现的软件或进程来安排我的 PostgreSQL 命令的执行?

4

2 回答 2

1

您是否尝试使用 Cron 或任何其他自动任务解决方案?我不知道 OSX,但在 linux

crontab

0 22 * * * /var/lib/pgsql/backups/backup.sh database_name
0 0 * * 0 /var/lib/pgsql/backups/backup.sh

备份.sh

BACKUP_DIRECTORY="/var/lib/pgsql/backups"
CURRENT_DATE=$(date "+%Y%m%d")

if [ -z "$1" ]
then
  pg_dumpall | gzip - > $BACKUP_DIRECTORY/pg_dumpall_$CURRENT_DATE.sql.gz
else
  pg_dump $1 | gzip - > $BACKUP_DIRECTORY/$1_$CURRENT_DATE.sql.gz
fi
于 2015-02-07T22:02:18.460 回答
0

我对launchd进行了研究,以了解如何实施我的工作。一些人表示,使用它很难重复执行作业。但是,我能够在 Mac App Store 中找到一个应用LaunchD Task Scheduler 。它的价格为 1.99 美元。很值这个价。除了创建 shell 脚本的学习曲线外,我还能够在大约 30 分钟内启动并运行我的工作。了解 LaunchD 的人可能很快就能搞定。它非常易于使用。客户服务非常好。

于 2015-02-09T15:53:43.530 回答