一、SFTP上傳文件命令
SFTP是一種安全的文件傳輸協議。在Linux系統中,使用SFTP上傳和下載文件非常方便。下面是一些常用的上傳文件命令:
sftp> put local_file remote_file
其中,local_file是本地文件路徑,remote_file是遠程伺服器中的文件路徑。
sftp> mput local_folder/* remote_folder/
其中,local_folder是本地文件夾路徑,remote_folder是遠程伺服器中的文件夾路徑。
二、SFTP文件上傳異常
在上傳文件時,可能會遇到一些異常情況。比如,上傳過程中斷開連接,導致上傳失敗。為了避免這種情況,可以使用下面的命令:
sftp -o ServerAliveInterval=60 remote_host
其中,ServerAliveInterval參數設置為60秒,表示每隔60秒向伺服器發送一次心跳包,以保持連接。
三、SFTP上傳文件夾
使用SFTP上傳文件夾非常簡單,只需要將本地文件夾路徑和遠程文件夾路徑傳入put或mput命令即可:
sftp> put -r local_folder remote_folder
其中,-r表示遞歸上傳,將整個文件夾上傳到遠程伺服器中。
四、SFTP上傳文件很久
有時候,上傳一個較大的文件可能需要較長的時間。這可能會導致SFTP連接在上傳過程中失效。為了避免這種情況,可以使用下面的命令:
sftp> set net:timeout 600
其中,600表示超時時間為600秒,即10分鐘。如果上傳時間超過10分鐘,SFTP連接將自動斷開。
五、SFTP上傳文件改名
有時候,上傳的文件名在遠程伺服器中並不是想要的名字。為了更改文件名,可以使用rename命令:
sftp> rename old_file new_file
其中,old_file是原文件名,new_file是新文件名。
六、SFTP上傳文件夾失敗
有時候,上傳文件夾時可能會失敗。這可能是因為遠程伺服器許可權不足,無法創建文件夾。為了避免這種情況,可以使用mkdir命令手動創建文件夾:
sftp> mkdir remote_folder
其中,remote_folder是要創建的文件夾路徑。
七、SFTP上傳文件put方法
put方法是SFTP上傳文件的最基本方法。下面是使用put方法上傳文件的示例代碼:
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='remote_host', port=22, username='user', password='passwd')
sftp = ssh.open_sftp()
sftp.put('local_file', 'remote_file')
sftp.close()
ssh.close()
八、SFTP上傳文件大小限制
在上傳文件時,有時候需要限制上傳文件的大小。為了實現這個功能,可以使用下面的代碼:
sftp = ssh.open_sftp()
sftp.ulimit(ulim=1024*1024*1024) # 限制上傳文件大小為1GB
sftp.put('local_file', 'remote_file')
sftp.close()
其中,ulimit函數將限制上傳文件大小為1GB。
九、SFTP上傳文件到Linux
下面是將本地文件上傳到Linux伺服器的示例代碼:
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='remote_host', port=22, username='user', password='passwd')
sftp = ssh.open_sftp()
sftp.put('local_file', '/tmp/remote_file')
sftp.close()
ssh.close()
其中,/tmp是Linux系統中的一個臨時文件夾。在上傳文件時,要使用root用戶許可權。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/188458.html