计划任务测试运行时候好的,但定时执行有问题。

群晖的计划任务是以bash方式执行的,但是执行计划任务是后台运行的,运行的环境不是系统环境,需要明确一下bash环境,及必要变量。

在计划任务前面加上声明使用bash运行。

plaintext
#!/bin/bash

如果有些任务执行后中文显示乱码,例如使用unzip解压后中文文件名或目录变成Unicode 编码格式,

在计划任务前面加上语言环境声明,

plaintext
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

顺便加上,防止操作无限卡死。

plaintext
set -e


即不管直接在计划任务里写,还是计划任务里在执行sh文件,在顶部都声明:

plaintext
#!/bin/bash
set -e
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"


另外执行sh文件的话,要先切到sh所在的目录,再执行:

plaintext
cd 脚本目录
bash 脚本.sh