linux环境使用rsync命令备份sftp目录及文件并保留权限属主属组 到本地指定路径
时间: 2024-10-12 12:07:34 浏览: 26
在Linux环境下,你可以使用rsync命令结合SSH(Secure Shell)来备份SFTP服务器上的目录和文件,并且保持权限、属主和属组信息。以下是基本的命令格式:
```sh
rsync -avz --delete \
--chown=source_user:source_group \
--chmod=ugo+rwX \
sftp://username@remote_host/path/to/backup source_dir/backup_location/
```
解释一下各个选项:
- `-a` (`archive`) : 保持源文件的结构和属性,包括隐藏文件、权限等。
- `-v` (`verbose`) : 显示详细传输过程。
- `-z` (`compress`) : 启用压缩传输,提高网络效率。
- `--delete` : 删除目标目录下不再存在的源文件。
- `--chown=source_user:source_group` : 指定同步后的文件和目录的所有权,`source_user`是远程服务器上目录的用户,`source_group`是该用户的组。
- `--chmod=ugo+rwX` : 设置新创建的文件和目录的权限,`u`代表用户,`g`代表组,`o`代表其他,`+rwX`表示读写执行权限。
请将`username`替换为SFTP服务器的用户名,`remote_host`替换为SFTP服务器的地址,`path/to/backup`替换为远程目录,`source_dir/backup_location/`替换为你希望本地备份保存的目录。
阅读全文