首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >难以运行crontab启动脚本

难以运行crontab启动脚本
EN

Server Fault用户
提问于 2022-07-08 11:33:17
回答 1查看 235关注 0票数 0

在重新启动时,我有以下crontab作业要运行:

代码语言:javascript
运行
复制
PATH=/snap/bin:/usr/bin
@reboot run_me_startup.sh >> $HOME/startup_run_log.txt 2>&1

我的停靠安装已经将文件放置在/snap/bin中(因此是我的PATH语句)。我的run_me_startup.sh脚本如下:

代码语言:javascript
运行
复制
echo "Startup Script"
sleep 240
echo "Running..."
sudo service apache2 stop && sudo service nginx stop
sudo chown $(whoami):$(whoami) /var/run/docker.sock
/snap/bin/docker network create dbnet
/snap/bin/docker network create nginx_network
export aws_access_key_id="secret"
export aws_secret_access_key="secret"
cd $HOME/The6ix/The6ixDjango && pwd && /snap/bin/docker-compose -f docker-compose.prod.yml down --remove-orphans
{
{
rm -rf $HOME/The6ix/The6ixDjango && cd $HOME/The6ix && git clone https://secret@github.com/cooneycw/The6ixDjango.git 
} ||
{
cd $HOME/The6ix && git clone https://secret@github.com/cooneycw/The6ixDjango.git
}
}
ls
cp $HOME/database.env $HOME/The6ix/The6ixDjango/database.env

我插入了睡眠240,以确保在代码执行之前启动对接服务。输出日志如下:

代码语言:javascript
运行
复制
Startup Script
Failed to stop nginx.service: Unit nginx.service not loaded.
chown: cannot access '/var/run/docker.sock': No such file or directory
/home/ubuntu/run_me_startup.sh: 4: docker: not found
/home/ubuntu/run_me_startup.sh: 5: docker: not found
/home/ubuntu/The6ix/The6ixDjango
/home/ubuntu/run_me_startup.sh: 8: docker-compose: not found
Cloning into 'The6ixDjango'...
The6ixDjango
/home/ubuntu/run_me_startup.sh: 19: docker-compose: not found
/home/ubuntu/run_me_startup.sh: 20: docker-compose: not found
/home/ubuntu/run_me_startup.sh: 21: docker-compose: not found
/home/ubuntu/run_me_startup.sh: 22: docker-compose: not found
/bin/sh: 1: run_me_startup.sh: not found
/bin/sh: 1: run_me_startup.sh: not found
/bin/sh: 1: run_me_startup.sh: not found
/bin/sh: 1: run_me_startup.sh: not found
/bin/sh: 1: run_me_startup: not found
/bin/sh: 1: run_me_startup: not found
/bin/sh: 1: run_me_startup.sh: not found

我不明白为什么我要获得码头:找不到错误的路径语句在我的crontab。我是否应该关心日志底部的/bin/sh注释?我是否触发了我的脚本运行两次?Linux新手.我很感谢你的慷慨!

EN

回答 1

Server Fault用户

发布于 2022-07-08 13:46:30

事实证明,我没有意识到我的日志是加性的(我以为每次都会重建)。因此,我的cron工作实际上没有找到我的脚本(因此重复项目)。

更重要的是,snap是垃圾,创建了许多我必须解决的问题(通过apt安装了docker.io版本),我的脚本现在正在正确执行。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1105111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档