Я шпаклюю через к двум различным серверам Ubuntu (A и B). Я хотел бы к SFTP от до B и get
все файлы в каталоге в B к A и удаляют файлы в B прямо после загрузки - так, чтобы только A имел файлы.
Как может достигнуть get
файлы и удаляют файл прямо после успешной передачи/загрузки?
Можно использовать следующее для удаления удаленных файлов:
rm [path]
и для удаленных каталогов:
rmdir [path]
Где Вы заменяете [path]
с Вашим фактическим путем или именем файла или именем каталога. Это также может быть подстановочными знаками, поскольку Вы привыкли к в нормальном терминале. для того, чтобы рекурсивно получить каталоги Вам, возможно, понадобилось бы -r
флаг.
Печально нет никакой команды для перемещения файлов от B до, таким образом, необходимо получить файлы от B до A и затем удалить файлы на средствах B., что нет никакой команды для конкатенации получения и удаления вместе.
Для получения и затем удалить файлы оптом можно использовать подстановочные знаки.
Пример (позволяют нам принять Вас, имеет Ваши файлы в папке XY на Вашем сервере B):
# log into server A via putty/ssh
ssh user@A
# then sftp to B from A
sftp user@B
# now you will get a prompt for sftp which I will not
# repeat in the commands to follow
sftp>
# navigate to your local target directory on server A
lcd pathtotarget/
# navigate to your source directory on server B
cd XY
# get all the files from B to A
get *
# after the transfer is done you can go on and remove the files on B
cd ..
rmdir XY
# or if you want only the files being deleted
rm *
# quit your sftp session
quit
# log off from server A
logout
Набор команд, доступный на SFTP:
bye Quit sftp cd path Change remote directory to 'path' chgrp grp path Change group of file 'path' to 'grp' chmod mode path Change permissions of file 'path' to 'mode' chown own path Change owner of file 'path' to 'own' df [-hi] [path] Display statistics for current directory or filesystem containing 'path' exit Quit sftp get [-afPpRr] remote [local] Download file reget [-fPpRr] remote [local] Resume download file reput [-fPpRr] [local] remote Resume upload file help Display this help text lcd path Change local directory to 'path' lls [ls-options [path]] Display local directory listing lmkdir path Create local directory ln [-s] oldpath newpath Link remote file (-s for symlink) lpwd Print local working directory ls [-1afhlnrSt] [path] Display remote directory listing lumask umask Set local umask to 'umask' mkdir path Create remote directory progress Toggle display of progress meter put [-afPpRr] local [remote] Upload file pwd Display remote working directory quit Quit sftp rename oldpath newpath Rename remote file rm path Delete remote file rmdir path Remove remote directory symlink oldpath newpath Symlink remote file version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help