fender0107401 发表于 2016-01-05 10:19

一个简单的Perl脚本,可以用来备份PostgreSQL。

本帖最后由 fender0107401 于 2016-01-05 10:22 编辑

相当简单。看懂了expect那段以后,可以很容易地进行各种扩展。

Perl和PostgreSQL都是非常优秀的工具,一起使用效果相当好。#! /usr/bin/env perl

use strict;

use Expect;

################################################################################

my $db_host = "";
my $db_name = "";
my $db_user = "";
my $db_pass = "";

my $cmd = "pg_dump --host $db_host --port $db_port --dbname $db_name --username $db_user --file $backup_file_name --format p --password";

my $exp = Expect->new;

$exp->raw_pty(1);

$exp->spawn($cmd);

$exp->expect(
    undef, 'Password:' => sub
    {
      $exp->send($db_pass);
      $exp->send("\n");
      exp_continue;
    }
);

################################################################################

laputa73 发表于 2016-01-05 11:02

pgdump不可以直接指定password么?

Hongqiyaodao 发表于 2016-01-05 13:37

页: [1]
查看完整版本: 一个简单的Perl脚本,可以用来备份PostgreSQL。