Мне нужно выполнить задание ETL данных, которое запускает сценарий оболочки для перемещения файлов из определенной папки на компьютере с Windows (не файловой системы) в каталог в unix.
У меня сейчас что-то вроде этого
HOST=UNIX123
USER=abcd
PASSWORD=abc123
FILE_NAME="Test.txt"
ftp -v -n WINDOWS123 << end_script
user zxc/VKR XYZ
lcd /stg/scripts
cd "data"
binary
mget *.txt
quit
end_script
Здесь команда mget просто копирует файлы. Я бы хотел переместить файлы вместо копии
Если у вас есть Windows, по крайней мере, с административным ресурсом \\computer\c$
и у вас есть Linux, который запустит скрипт:
Смонтировать общую папку Windows для чтения/записи
mount -t cifs $network_path $mount_directory -o credentials=$cred_file
Выполнить команду перемещения в смонтированном каталоге
mv "$mount_directory/*" "$new_directory"
Возможно, потребуется скопировать, а затем удалить файлы...
cp "$mount_directory/*"
rm "$mount_directory/*"
Проверьте переключатели, которые могут потребоваться для команд (cp
, mv
и rm
).