web-dev-qa-db-ja.com

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.

どんな助けでも大歓迎です。

2
TonySqrd

$なしで変数を宣言する必要があります。つまり、次のようになります。

sSrc="/volume1/Temp/a"
sDst="/volume1/Temp/b"
2
Mikael Kjær