Как удалить get'ed файлы с помощью SFTP на сервере Ubuntu?

Я шпаклюю через к двум различным серверам Ubuntu (A и B). Я хотел бы к SFTP от до B и get все файлы в каталоге в B к A и удаляют файлы в B прямо после загрузки - так, чтобы только A имел файлы.

Как может достигнуть get файлы и удаляют файл прямо после успешной передачи/загрузки?

1
задан 19 September 2018 в 07:55

1 ответ

Можно использовать следующее для удаления удаленных файлов:

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
1
ответ дан 7 December 2019 в 15:14

Другие вопросы по тегам:

Похожие вопросы: