Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

大佬,创建的2个配置文件 权限都给了,但是自动任务不自动执行。 #2

Open
sdfsfsfsf111112 opened this issue Jun 5, 2023 · 3 comments

Comments

@sdfsfsfsf111112
Copy link

进入目录 执行 docker-compose up -d
#!/usr/bin/env sh
/bin/echo "*/15 * * * * /usr/bin/python3 /home/www/cf2dns/cf2dns.py" > /etc/crontabs/nobody

进入容器 手动执行 /usr/bin/python3 /home/www/cf2dns/cf2dns.py 正常 可以返回ip 并更新到dns上面去
大佬是哪里问题呢 ,方便解答吗

@aaro-n
Copy link
Owner

aaro-n commented Jun 6, 2023

@sdfsfsfsf111112 我自己又试了,定时任务可以正常运行,既然可以手动运行,我怀疑定时任务没配置对,你可以执行一下操作。

  • 首先,先停止并删除运行的容器 docker-compose down
  • 其次,删除cron.sh文件,重新下载cron.sh文件,并赋予权限,wget https://raw.githubusercontent.com/aaro-n/cf2dns-docker/main/config/cron.sh
  • 按照自己的需求修改cron.sh文件。
  • 以及做好后,运行容器观察结果docker-compose up -d
    还有你设置的是15秒运行一次,你最好确认下要不要那么频繁,可以在这个网站自己研究下 https://www.bejson.com/othertools/cron/
    如果还是不行,可以进入容器 docker exec -it cf2dns /bin/sh,查看具体定时任务cat /etc/crontabs/nobody
    查看cf2dns运行日志,cat /tmp/cf2dns.log

@sdfsfsfsf111112
Copy link
Author

玄学,改成您的格式了 55 19 * * * 19.55 执行一次 cat /tmp/cf2dns.log 也没有日志 。。。

@aaro-n
Copy link
Owner

aaro-n commented Jun 7, 2023

@sdfsfsfsf111112 先在容器中执行cat /etc/crontabs/nobody ,看下定时任务到底有没有写进去,同时修改cron.sh文件内容如下

#!/usr/bin/env sh
 /bin/echo "56 17 * * * /usr/bin/python3 /home/www/cf2dns/cf2dns.py  >>/tmp/cron.log 2>&1" > /etc/crontabs/nobody
 /bin/echo "@reboot touch /tmp/1.txt" >> /etc/crontabs/nobody  

其中/bin/echo "@reboot touch /tmp/1.txt" >> /etc/crontabs/nobody 是让定时任务在重启后在tmp文件夹下创建一个1.txt文件,
一定要先执行docker-compose down删除容器,修改cron.sh文件后再执行docker-compose up -d,否则定时任务是不会写进去的。
运行容器后,执行docker exec -it cf2dns /bin/sh进入容器,执行cd /tmp,进入tmp文件夹,执行ls查看tmp文件夹有没有创建1.txt文件,如果没创建,说明定时任务没执行,就要排查容器到底有没有重启,有1.txt文件,说明定时任务已经运行,就要检查cf2dns.py权限。
这是执行cat /etc/crontabs/nobody 给的反馈,你可以对比下。

www@vultr:~/cf2dns/config$ docker exec -it cf2dns /bin/sh
/home/www $ cat /etc/crontabs/nobody
56 17 * * * /usr/bin/python3 /home/www/cf2dns/cf2dns.py  >>/tmp/cron.log 2>&1
@reboot touch /tmp/1.txt
/home/www $ 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants