编程技术网

关注微信公众号,定时推送前沿、专业、深度的编程技术资料。

 找回密码
 立即注册

QQ登录

只需一步,快速开始

极客时间

运行"docker run"来自crontab:run "docker run" from crontab

TheOnlyTails 云计算 2022-5-10 15:06 7人围观

腾讯云服务器
运行"docker run"来自crontab的处理方法

我尝试从运行在Docker容器中的postgresql数据库进行自动备份(每晚4点).

I try to make automated (every night at 4) backups from a postgresql database running inside a docker container.

#!/bin/sh CONTAINER=`docker ps|grep name_of_container|awk '{print $1}'` USER='postgre_user' PASSWORD='changed' BUDIR='/some/path/backup/' docker run -it --link $CONTAINER:db -v $BUDIR:/backup/ -e "PGPASSWORD=$PASSWORD" pg_dump -h db -U $USER -Fc -f /backup/$(date +%Y-%m-%d-%H-%M-%S).dump 

我的crontab看起来像这样:

My crontab looks like this:

0 4 * * * /path/to/script.sh 

当我手动执行该脚本时,该脚本可以很好地运行,并且也可以从cron中执行(我尝试* * * * *用于调试).

The script works fine when I execute it manually and it also get executed from cron (I tried * * * * * for debugging).

我不知道如何使cron和脚本一起工作.到目前为止,我尝试过:

I can't figure out how to make cron and the script work together. So far I tried:

  • 将变量写入日志文件
  • 检查crontab的输出( * * * * * [...]&> cron.log )
  • 检查 docker exec [...]>的输出脚本中的output.log

$ CONTAINER 包含正确的docker id,创建了cron.log和output.log,但为空.

$CONTAINER contains the correct docker id when run from cron, cron.log and output.log are created but empty.

有什么想法吗?

问题解答

从cron运行时无法使用 docker run -it --link [...] -我使用docker立即运行--link [...] .

Can't use docker run -it --link [...] when running from cron - I use docker run --link [...] now.

这篇关于运行"docker run"来自crontab的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程技术网(www.editcode.net)!

腾讯云服务器 阿里云服务器
关注微信
^