用于在 Synology 服务器上的文件夹之间移动文件的脚本

用于在 Synology 服务器上的文件夹之间移动文件的脚本

在我的 Synology 服务器上,我有一个源文件夹/volume1/Temp/a和一个目标文件夹/volume1/Temp/b

我希望有一个脚本,可以安排在 DSM 的控制面板/任务计划程序下每天运行,以将所有文件从源文件夹移动到目标文件夹。我进行了一些搜索,这是我目前所做的,但它不起作用。

我创建了一个文件/usr/local/bin/movefiles.sh并授予其执行权限。

我在 DSM 任务调度程序下创建了一个用户定义脚本,运行以下命令:/usr/local/bin/movefiles.sh >> /var/log/movefiles.log 2>&1

movefiles.sh中的代码:

$sSrc="/volume1/Temp/a"
$sDst="/volume1/Temp/b"

find $sSrc -type f -maxdepth 1 -name "*.*" -exec mv {} $sDst \;

我收到的错误是这样的:

/usr/local/bin/movefiles.sh: line 1: =/volume1/Temp/a
: No such file or directory
/usr/local/bin/movefiles.sh: line 2: =/volume1/Temp/b
: No such file or directory
/usr/local/bin/movefiles.sh: line 3: $'\r': command not found
mv: missing destination file operand after './SYNO.Core.SNMP.lib'
Try 'mv --help' for more information.
mv: missing destination file operand after './SYNO.Core.Security.DoS.lib'
Try 'mv --help' for more information.
mv: missing destination file operand after './SYNO.Backup.Service.NetworkBackup.lib'
Try 'mv --help' for more information.
mv: missing destination file operand after './SYNO.Core.Security.lib'
Try 'mv --help' for more information.

任何帮助都感激不尽。

答案1

您必须声明不带$的变量,即:

sSrc="/volume1/Temp/a"
sDst="/volume1/Temp/b"

相关内容