postgresql热备份shell脚本

y=`date --date="1 days ago" +%Y`;
m=`date --date="1 days ago" +%m`;
d=`date --date="1 days ago" +%d`;

label=/'$y$m$d/'; #备份标签
/opt/pgsql/bin/psql -c "select pg_start_backup($label);"; #启动备份
cp -r /opt/pgsql/data /backup/databk;  #开始备份
/opt/pgsql/bin/psql -c "select pg_stop_backup();"; #结束备份
if [ $? ]
then
 echo "[hxf]  [`date`] hot backup database successfully!"; #备份成功
fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的Linux下使用PostgreSQL 12进行备份的脚本示例: ```bash #!/bin/bash # 定义备份文件存放目录 backup_dir="/path/to/backup/directory" # 定义备份文件的名称和格式 backup_file="db_backup_$(date +%Y%m%d_%H%M%S).sql" # 定义要备份的数据库名称 database_name="your_database_name" # 定义PostgreSQL的bin目录路径 pg_bin_dir="/usr/local/pgsql/bin" # 执行备份命令并将输出写入备份文件 $pg_bin_dir/pg_dump -U postgres -F p -f $backup_dir/$backup_file $database_name # 检查备份是否成功 if [ $? -eq 0 ]; then echo "备份成功!备份文件路径:$backup_dir/$backup_file" else echo "备份失败!" fi ``` 在这个脚本中,你需要根据实际情况修改以下内容: - `backup_dir`:备份文件存放目录,将其替换为你想要存储备份文件的目录路径。 - `database_name`:要备份的数据库名称,将其替换为你要备份的实际数据库名称。 - `pg_bin_dir`:PostgreSQL的bin目录路径,将其替换为你的PostgreSQL安装目录下的bin目录路径。 脚本中使用了`pg_dump`命令来执行数据库备份操作。执行脚本后,它将创建一个以当前日期和时间命名的备份文件,并将其保存在指定的备份目录中。如果备份成功,将输出成功消息并显示备份文件的路径;如果备份失败,将输出失败消息。 你可以将此脚本保存为`.sh`文件,然后通过设置定时任务(例如cron)来定期运行它,实现自动备份数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值