LINUX定时执行脚本

bash 复制代码
vim 260825.sh
bash 复制代码
#!/bin/bash
# 计算到目标时间的秒数并 sleep
target_time="2026-08-25 00:00:00"
current_time=$(date +%s)
target_seconds=$(date -d "$target_time" +%s)
sleep_time=$((target_seconds - current_time))

if [ $sleep_time -gt 0 ]; then
    sleep $sleep_time
    cd /.../nginx/ && docker-compose down
    cd /.../app/ && docker-compose down
fi

# 上面的版本已实践能用,下面的没实践过

#!/bin/bash

# 计算到目标时间的秒数并 sleep
target_time="2026-08-25 00:00:00"
current_time=$(date +%s)
target_seconds=$(date -d "$target_time" +%s)
sleep_time=$((target_seconds - current_time))

if [ $sleep_time -gt 0 ]; then
    echo "当前时间: $(date)"
    echo "目标时间: $target_time"
    echo "等待 $((sleep_time / 3600)) 小时 $(( (sleep_time % 3600) / 60 )) 分钟后执行..."
    
    sleep $sleep_time
    
    echo "开始停止服务..."
    
    # 停止 nginx 服务
    echo "  停止 nginx..."
    cd /.../nginx/ && docker-compose down
    
    # 停止 app 服务
    echo "  停止 app..."
    cd /.../app/ && docker-compose down
    
    echo "所有服务已停止于 $(date)"
else
    echo "目标时间已过,不执行任何操作"
    exit 1
fi
bash 复制代码
chmod +x 260825.sh

注意cd /.../nginx/ && docker-compose down这里的/.../nginx/需要有docker-compose.yml

bash 复制代码
nohup ./260825.sh > 260825.log 2>&1 &

后续系统就会自动等待到指定时间,执行docker-compose down,比如上面的脚本我是260824启动的,到了260825000000就会执行并输出日志(可通过日志的创建时间与修改时间、内容判断执行时间)

bash 复制代码
cat 260824.log

可用命令查看是否启动成功

bash 复制代码
ps aux | grep 260825.sh
ps aux | grep sleep
ps aux | grep sleep | grep -v grep
相关推荐
风哥2号12 小时前
数据库教程FGMT02‑生产环境Linux+Oracle19c安装配置与项目实战
linux·数据库·ffmpeg
wuminyu15 小时前
Kafka中sendfile与mmap实现机制解析
java·linux·c语言·jvm·c++
新时代牛马16 小时前
嵌入式网络完整篇:从LwIP/以太网驱动到 Linux netdev 与排障
linux·网络·php
猿与禅16 小时前
Linux(Ubuntu)入门到实战:系统管理、常用命令与权限体系完整指南
linux·ubuntu·apt·进程管理·系统运维·用户权限·vi/vim
前端世界16 小时前
Linux服务器实战:NTP时间同步、SELinux权限与rsyslog日志管理,一次搞懂三大运维问题
linux·运维·服务器
Android系统攻城狮16 小时前
Linux Gstreamer深度解析之gst_audio_converter_new调用流程与实战(二十)
linux·运维·服务器·gstreamer音视频·音视频进阶
海宇服务16 小时前
零信任架构实战:基于海宇对外投资历史查询服务构建自动化供应商准入网关
运维·人工智能·架构·自动化
上海云盾-小余16 小时前
BGP 高防底层原理:TCP 异常流量识别与清洗机制
运维·网络·tcp/ip
captain37616 小时前
▲网络原理(2)-TCP
java·服务器·网络·tcp/ip·java-ee
言乐617 小时前
Python加速器4跨境网络加速器
运维·服务器·开发语言·网络·python