每日备份 2026-03-27
This commit is contained in:
Executable
+83
@@ -0,0 +1,83 @@
|
||||
#!/bin/bash
|
||||
# 定时任务管理脚本
|
||||
# 用法:./manage-tasks.sh [status|start|stop|run|edit]
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
WEATHER_SCRIPT="$SCRIPT_DIR/weather-daily.sh"
|
||||
SERVICE_FILE="$HOME/.config/systemd/user/daily-weather.service"
|
||||
TIMER_FILE="$HOME/.config/systemd/user/daily-weather.timer"
|
||||
|
||||
show_status() {
|
||||
echo "=== 定时任务状态 ==="
|
||||
systemctl --user list-timers --all | grep -E "weather|NEXT|LEFT"
|
||||
echo ""
|
||||
echo "=== 服务状态 ==="
|
||||
systemctl --user status daily-weather.service 2>/dev/null | head -10
|
||||
echo ""
|
||||
echo "=== 脚本路径 ==="
|
||||
echo "天气脚本:$WEATHER_SCRIPT"
|
||||
echo "Service: $SERVICE_FILE"
|
||||
echo "Timer: $TIMER_FILE"
|
||||
}
|
||||
|
||||
run_now() {
|
||||
echo "=== 手动运行天气预报 ==="
|
||||
bash "$WEATHER_SCRIPT"
|
||||
}
|
||||
|
||||
edit_script() {
|
||||
echo "编辑天气脚本:$WEATHER_SCRIPT"
|
||||
nano "$WEATHER_SCRIPT"
|
||||
}
|
||||
|
||||
edit_service() {
|
||||
echo "编辑 Service 配置:$SERVICE_FILE"
|
||||
nano "$SERVICE_FILE"
|
||||
}
|
||||
|
||||
reload() {
|
||||
echo "重新加载 systemd 配置..."
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user restart daily-weather.timer
|
||||
echo "✓ 配置已重载"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
status)
|
||||
show_status
|
||||
;;
|
||||
start)
|
||||
systemctl --user enable daily-weather.timer
|
||||
systemctl --user start daily-weather.timer
|
||||
echo "✓ 定时任务已启动"
|
||||
;;
|
||||
stop)
|
||||
systemctl --user stop daily-weather.timer
|
||||
systemctl --user disable daily-weather.timer
|
||||
echo "✓ 定时任务已停止"
|
||||
;;
|
||||
run|test)
|
||||
run_now
|
||||
;;
|
||||
edit)
|
||||
edit_script
|
||||
;;
|
||||
edit-service)
|
||||
edit_service
|
||||
;;
|
||||
reload)
|
||||
reload
|
||||
;;
|
||||
*)
|
||||
echo "用法:$0 {status|start|stop|run|edit|edit-service|reload}"
|
||||
echo ""
|
||||
echo "命令说明:"
|
||||
echo " status - 查看定时任务状态"
|
||||
echo " start - 启动定时任务"
|
||||
echo " stop - 停止定时任务"
|
||||
echo " run/test - 手动运行一次(测试用)"
|
||||
echo " edit - 编辑天气脚本(修改 Webhook 等)"
|
||||
echo " edit-service - 编辑 Service 配置(修改执行时间等)"
|
||||
echo " reload - 重新加载配置"
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user