Script para mover archivos entre carpetas en un servidor Synology


2

En mi servidor Synology tengo una carpeta de origen /volume1/Temp/ay una carpeta de destino /volume1/Temp/b.

Me gustaría un script que pueda programar para que se ejecute diariamente en el panel de control / programador de tareas de DSM para mover todos los archivos de la carpeta de origen a la carpeta de destino. Hice algunas búsquedas y esto es lo que hice hasta ahora, pero no funciona.

Creé un archivo /usr/local/bin/movefiles.shy le di permisos de ejecución.

Creé un script de definición de usuario en el planificador de tareas DSM que ejecuta este comando: /usr/local/bin/movefiles.sh >> /var/log/movefiles.log 2>&1

El código en movefiles.sh:

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

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

El error que obtengo es este:

/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.

Cualquier ayuda será muy apreciada.

Respuestas:


2

Tienes que declarar tus variables sin $, es decir:

sSrc="/volume1/Temp/a"
sDst="/volume1/Temp/b"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.