Logo

站内搜索

搜索文章

输入关键词开始搜索。

    cron 笔记

    cron 笔记,包含 cron 不执行 shell 脚本的解决办法

    2023年4月1日
    1 min read
    cron 笔记

    cron 笔记,包含 cron 不执行 shell 脚本的解决办法

    也许 shell 脚本本身可以执行,但是 cron 中不能执行,需要像下面这样设置

    cron-for-run-per-1h.cron
    SHELL=/bin/bash
    0 * * * * . /etc/profile;/bin/sh /pathto/run.sh
    Note (NOTE)

    最后一定要有一个回车!后者会导入失败

    run.sh
    #!/bin/bash
    PATH=/opt/someApp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    LOGS_FILE="/pathto/logs/$(date "+%Y-%m-%d-%H-%M-%S").log"
    cd /pathto
    docker-compose up >> $LOGS_FILE 2>&1

    最后设置到 cron

    run.sh
    crontab /pathto/cron-for-run-per-1h.cron
    Warning (warning)

    使用此命令会覆盖之前所有的 cron 任务

    如果你不想覆盖之前的,那么就 /etc/cron.d 中新建文件,然后写进去。

    Warning (warning)

    cron 的话基本必有一个 ?,它仅可存在于 dayofmouth 或者 dayofweek

    个人 docker 配置备份

    Dockerfile
    FROM python:3.11
    WORKDIR /bin/test
    COPY ./requirements.txt ./
    RUN pip install -r ./requirements.txt
    ENTRYPOINT [ "python" ]
    CMD [ "./test.py" ]
    docker-compose.yml
    version: '3.8'
    services:
    enhanced-faas:
    build:
    context: ./
    container_name: enhanced-faas
    volumes:
    - './:/bin/test'
    expose:
    - 443,80
    command: ./main.py
    networks:
    - nginx-proxy
    networks:
    nginx-proxy:
    external: true

    评论