网站首页 > 博客文章 正文
问题:
数据库为PostgreSQL。
由于数据库是用docker-compose运行,所以直接用docker-compose命令直接备份。测试终端直接运行备份没问题,将命令添加到crontab定时任务,却得到一个数据为0的空文件,命令失效。
终端备份执行命令,(终端执行备份没问题,数据完整)
sudo docker-compose exec database pg_dump hackmd -U hackmd > /home/ubuntu/backup/codimd_`date +%F`.sql
添加定时任务`crontab -e`为,(得到一个数据为0的空文件,命令失效)
0 2 * * * cd /home/ubuntu/codimd-2.4.1/deployments/ && sudo /usr/local/bin/docker-compose exec database pg_dump hackmd -U hackmd > /home/ubuntu/backup/codimd_`date +\%F`.sql
原因:
将命令写入脚本,执行脚本没问题。将脚本加入定时任务,再次失效。所以跟脚本没关系。
1:由于docker-compose命令跟其他常规命令路径不一样,路径为
/usr/local/bin/docker-compose,常规命令路径为 bin/bash 等,所以crontab默认执行的为常规路径命令。需要使用绝对路径。
2:命令选项:-T:从而禁止分配伪终端,Disable pseudo-tty allocation. By default docker-compose exec allocates a TTY。
解决后命令:
根据以上,重新更改crontab定时任务。或者加入脚本中。
crontab -e
0 2 * * * sudo /usr/local/bin/docker-compose -f /home/ubuntu/codimd/deployments/docker-compose.yml exec -T database pg_dump hackmd -U hackmd > /home/ubuntu/backup/codimd_`date +\%F`.sql
命令说明:
sudo /usr/local/bin/docker-compose
#绝对路径执行docker-compose
-f /home/ubuntu/codimd/deployments/docker-compose.yml
#指定绝对路径的docker-compose.yml文件执行
exec -T database pg_dump hackmd -U hackmd
#PostgreSQL数据的备份命令
/home/ubuntu/backup/codimd_`date +\%F`.sql
#以年月日的命名方式存在/home/ubuntu/backup 路径
测试生效,更改完成。
猜你喜欢
- 2025-05-22 Docker搭建MySQL与Redis集群教程
- 2025-05-22 Docker新手福音!这个开源控制面板让你更快上手Docker
- 2025-05-22 数字管家登场:利用Docker快速部署你的HomeBox家庭库存系统
- 2025-05-22 容器云生产实践第一步:ELK Stack
- 2025-05-22 docker-compose快速部署elasticsearch-8.x集群+kibana
- 2025-05-22 dify 1.40
- 2025-05-22 Windows 上 Docker 镜像与容器更新全攻略
- 2025-05-22 docker从入门到实战系列6-docker-compose容器编排
- 2025-05-22 Docker与Docker Compose部署微服务对比
- 2025-05-22 Docker Compose 中执行多条命令的方法
你 发表评论:
欢迎- 377℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 373℃用AI Agent治理微服务的复杂性问题|QCon
- 364℃初次使用IntelliJ IDEA新建Maven项目
- 357℃Maven技术方案最全手册(mavena)
- 353℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 352℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 351℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 349℃IT全明星|IntelliJ IDEA学习笔记(四、idea中怎么创建maven项目)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)