gpt4 book ai didi

docker - 通过 crontab 运行 "docker run"命令不起作用

转载 作者:行者123 更新时间:2023-12-04 19:29:00 25 4
gpt4 key购买 nike

每分钟(用于测试)我正在运行一个 cronjob 来创建一个容器,在其中运行一个 nodejs 进程,然后也删除该容器。
它按常规命令 的预期工作,但通过 crontab 运行时无法产生任何结果或输出。
这是我的 crontab

*/1 * * * * sh /location_to_cron/cron.sh >> /location_to_cron/backup.log
这是 cron shell 脚本的内容
CONTAINER_NAME="node_backup_repo"

echo "Creating Container to create backup, name: $CONTAINER_NAME"

docker run --name $CONTAINER_NAME -v /location_to_backup_dir:/app --dns="my_custom_dns" -w /app node:16 "backupscript.js" >> /location_to_cron/backup.log

echo "Removing container $CONTAINER_NAME"
docker rm $CONTAINER_NAME

echo "All done..."
系统日志条目表明 crontab 正在以我的用户身份执行,这是预期的。这里有什么问题?
编辑:
修改后的工作脚本 - 修复是添加 docker 二进制文件的路径 .
CONTAINER_NAME="node_backup_repo"

echo "Creating Container to do Backup, name: $CONTAINER_NAME"

/snap/bin/docker run --name $CONTAINER_NAME -v /location_to_backup_dir:/app --dns="my_custom_dns" -w /app node:16 "backupscript.js" >> /location_to_cron/backup.log

echo "Removing container $CONTAINER_NAME"
/snap/bin/docker rm $CONTAINER_NAME

echo "All done..."

最佳答案

用这个:

*/1 * * * * sh /location_to_cron/cron.sh >> /location_to_cron/backup.log 2>&1
可以发 stdoutstderrbackup.log .

关于docker - 通过 crontab 运行 "docker run"命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68501397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com