docker-compose 安装 pgsql (postgres)

ops/2024/11/24 15:56:40/

docker-compose-pg.yml 文件内容

version: '3'
services:iepms-gateway:image: postgres:14.13container_name: postgresql-14.13restart: alwaysprivileged: trueenvironment:- POSTGRES_PASSWORD: test@2024ports:- 15432:5432volumes:- /home/iepms/data/pgsql/data:/var/lib/postgresql/data- /home/iepms/backup/pgsql/data:/mntnetworks:- env_iepms_appnetworks:  env_iepms_app:  external: true

我这边指定了 外部网络 env_iepms_app 如果这个网络不存在,就会创建失败。

docker network ls 查看网络
docker network create env_iepms_app 创建网络

定时备份脚本
pg_backup.sh

#!/bin/bash# 设置数据库连接参数
DB_HOST="localhost"
DB_PORT="5432"
DB_NAME="test"  # 替换为你的数据库名
DB_USER="postgres"  # 替换为你的数据库用户
DB_PASS="test@2024"  # 替换为你的数据库密码# 设置备份目录
BACKUP_DIR="/mnt"  # 替换为你的备份文件存放目录# 获取当前时间戳
TIMESTAMP=$(date +"%Y%m%d%H%M%S")# 设置备份文件名
BACKUP_FILE="$BACKUP_DIR/backup_$DB_NAME_$TIMESTAMP.sql"# 使用pg_dump命令备份数据库
docker exec -u postgres 容器名称 pg_dump -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -Fc -b -v -f "$BACKUP_FILE"# 检查备份是否成功,并导出备份日志
if [ $? -eq 0 ]; thenecho "$TIMESTAMP Backup completed successfully: $BACKUP_FILE" >> $BACKUP_DIR/pg_backup.log
elseecho "$TIMESTAMP Backup failed." >> $BACKUP_DIR/pg_backup.log
fi# 检查并删除指定天数前的备份文件(例如:删除5天前的备份)
find "$BACKUP_DIR" -type f -name "$DB_NAME_*.sql" -mtime +1 -exec rm {} \;
echo "$TIMESTAMP Backup completed and old backups cleaned up." >> $BACKUP_DIR/pg_backup.log

Linux 添加定时任务

crontab -e 编辑当前用户的cron任务
crontab -l 查看任务列表

0 1 * * * /home/backup/pg_backup.sh 每天凌晨1点执行脚本

第一个数字代表分钟(0-59)。

第二个数字代表小时(0-23)。

第三个数字代表一个月中的某一天(1-31)。

第四个数字代表月份(1-12)。

第五个数字代表一周中的某一天(0-7),0或7代表周日。


http://www.ppmy.cn/ops/136335.html

相关文章

JavaEE 【知识改变命运】02 多线程(1)

文章目录 线程是什么?1.1概念1.1.1 线程是什么?1.1.2 为什么要有线程1.1.3 进程和线程的区别1.1.4 思考:执行一个任务,是不是创建的线程或者越多是不是越好?(比如吃包子比赛)1.1.5 ) Java 的线程…

HTML5和CSS3新增特性

HTML5的新特性 HTML5新增的语义化标签 HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题,基本是 IE9 以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量…

数据分析-51-时间序列分解之局部均值分解LMD

文章目录 1 时间序列模态分解1.1 模态分解的概念1.2 模态分解的作用1.3 常用的模态分解方法1.4 模态分解的常用库2 局部均值分解LMD2.1 LMD的流程2.2 加载数据集2.2.1 数据重采样2.2.2 原始数据可视化2.3 局部均值分解LMD3 参考附录1 时间序列模态分解 1.1 模态分解的概念 时…

代码随想录算法训练营第五十五天|Day55 图论

寻找存在的路径 https://www.programmercarl.com/kamacoder/0107.%E5%AF%BB%E6%89%BE%E5%AD%98%E5%9C%A8%E7%9A%84%E8%B7%AF%E5%BE%84.html 思路 #include <stdio.h> #include <stdlib.h>#define MAX_NODES 101// 邻接表的节点结构 typedef struct Node {int verte…

设计模式-创建型-建造者模式

1.概念 建造者设计模式&#xff08;Builder Design Pattern&#xff09;是一种创建型设计模式&#xff0c;它通过将一个复杂对象的构建过程与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 2.作用 用于简化对复杂对象的创建 3.应用场景 当我们有一个非…

从 HTML 到 CSS:开启网页样式之旅(二)—— 深入探索 CSS 选择器的奥秘

从 HTML 到 CSS&#xff1a;开启网页样式之旅&#xff08;二&#xff09;—— 深入探索 CSS 选择器的奥秘 前言一、CSS基本选择器1. 通配选择器2. 元素选择器3. 类选择器4. id选择器5.基本选择器总结 二、CSS复合选择器1. 后代选择器2. 子选择器3. 相邻兄弟选择器4.交集选择器5…

Spring框架深度剖析:特性、安全与优化

文章目录 Spring框架简介主要特性1. 依赖注入&#xff08;Dependency Injection, DI&#xff09;2. 面向切面编程&#xff08;Aspect-Oriented Programming, AOP&#xff09;3. 声明式事务管理4. 强大的MVC框架5. 集成测试支持6. 多种数据访问技术的支持 安全性1. 认证&#xf…

网络安全-企业环境渗透2-wordpress任意文件读FFmpeg任意文件读

一、 实验名称 企业环境渗透2 二、 实验目的 【实验描述】 操作机的操作系统是kali 进入系统后默认是命令行界面 输入startx命令即可打开图形界面。 所有需要用到的信息和工具都放在了/home/Hack 目录下。 本实验的任务是通过外网的两个主机通过代理渗透到内网的两个主机。…