在任务计划程序中创建任务和编写脚本的提示
更新时间:Feb 9, 2023
在任务计划程序中创建任务和编写脚本的提示
部分文章为机器自动翻译,文中可能有文法错误或语义模糊之处。
解决方案
用户权限
确保所选用户具有足够的共享文件夹/文件权限
所选用户必须对脚本访问的共享文件夹/文件拥有足够的权限。在控制面板>任务计划程序>创建>计划任务>用户自定义脚本>常规中进行配置,然后从用户下拉列表中进行选择。
假设您使用“userA”来运行以下脚本,请确保“用户 A”对共享文件夹“/volume1/share/data”拥有足够的权限。
grep error /volume1/share/output.log > /volume1/share/error.log
更改为用户有权访问的工作目录(绝对路径)
这允许系统运行任务,无论是否启用了用户主目录服务。
假设您使用“userA”运行脚本,请确保包含命令行以将工作目录更改为“userA”有权访问的目录,例如
cd /volume1/share/
编写脚本
在控制面板>任务计划程序>创建>计划任务>用户自定义脚本>任务设置>运行命令中输入脚本。
在脚本中使用绝对路径
这消除了系统和您的脚本对 PATH 值的期望不同的可能性。
正确示例
|
错误示例
|
---|---|
/bin/touch /volume1/share/output.log |
touch /volume1/share/output.log |
指示用于执行脚本的 shell 类型
默认情况下,系统使用 DSM 使用的默认 shell 类型。指定要在脚本中使用的 shell 类型以避免歧义。
正确示例
|
错误示例
|
---|---|
/bin/bash /volume1/share/script.sh |
/volume1/share/script.sh |
将脚本或输出存储在共享文件夹中,而不是系统分区中
始终将用户文件存储在共享文件夹中。这可防止用户文件在系统重新启动或更新时丢失。将大型文件存储在共享文件夹中可确保系统分区不被占用并优化 DSM 性能。
正确示例
|
错误示例
|
---|---|
bin/bash /volume1/share/script.sh > /volume1/share/output.log
bin/bash /volume1/share/script.sh > /volume1/share/output.log |
/bin/bash /root/script.sh /bin/bash
/bin/bash /root/script.sh /bin/bash /volume1/share/script.sh > /root/output.log |