北京SEO

Linux中利用scp命令进行自动远程拷贝

2019/10/10/17:46:04  阅读:3838  来源:谷歌SEO算法  标签: 发外链

在服务器之间做数据备份一般会用到远程拷贝命令,scp命令就可以做到远程拷贝,并且支持从本地到远程的拷贝和从远程到本地的拷贝.

一般情况下执行拷贝命令时会提示我们输入远程服务器的用户名和密码,这在自动执行的程序中是一个障碍,因为没有人工的干预,关于服务器之间互访不需要密码的方式前面已经有介绍,可以参考前面的文章,这里介绍一下scp拷贝命令.

scp 本地用户名@IP地址:文件名1 远程用户名@IP地址:文件名2

[本地用户名@IP地址:] 可以不输入,可能需要输入远程用户名所对应的密码.

scp 命令

scp 可以在 2个 linux 主机间复制文件;

命令基本格式:scp [可选参数] file_source file_target

从 本地 复制到 远程:

  1. *复制文件:
  2. *命令格式:
  3. scplocal_fileremote_username@remote_ip:remote_folder
  4. 或者
  5. scplocal_fileremote_username@remote_ip:remote_file
  6. 或者
  7. scplocal_fileremote_ip:remote_folder
  8. 或者
  9. scplocal_fileremote_ip:remote_file

第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名.

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名.

例程:

  1. scp/home/space/music/1.mp3root@www.phpfensi.com:/home/root/others/music
  2. scp/home/space/music/1.mp3root@www.phpfensi.com:/home/root/others/music/002.mp3
  3. scp/home/space/music/1.mp3www.phpfensi.com:/home/root/others/music
  4. scp/home/space/music/1.mp3www.phpfensi.com:/home/root/others/music/002.mp3

复制目录:

命令格式:scp -r local_folder remote_username@remote_ip:remote_folder

或者:scp -r local_folder remote_ip:remote_folder

第1个指定了用户名,命令执行后需要再输入密码,第2个没有指定用户名,命令执行后需要输入用户名和密码.

例程:

  1. scp-r/home/space/music/root@www.phpfensicom:/home/root/others/
  2. scp-r/home/space/music/www.phpfensi.com:/home/root/others/

上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录.

从 远程 复制到 本地

从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可.

例如:

  1. scproot@www.cumt.edu.cn:/home/root/others/music/home/space/music/i.mp3
  2. scp-rwww.cumt.edu.cn:/home/root/others//home/space/music/

假设有两台服务器A和B,B服务器的IP地址是115.47.169.130,现在需要将B服务器上的/var/logs/test.log文件拷贝到A服务器上的/bak/目录下,则可以在A服务器上执行命令.

/usr/bin/scp root@115.47.169.130:/var/logs/test.log /bak/test.log

如果需要将A服务器上的/bak/test.sql拷贝到B服务器的/data/目录下则可以在A服务器上执行: /usr/bin/scp /bak/test.sql root@115.47.69.130:/data/test.sql

说到这里如果要在B服务器上操作,相信各位应该都会了吧,另外一点如果远程服务器默认的端口不是22可以使用在scp后使用-P命令指定端口,例如:

/usr/bin/scp -P2200 root@115.47.169.130:/var/logs/test.log /bak/test.log

可能有用的几个参数:

-v 和大多数linux命令中的-v意思一样,用来显示进度.可以用来查看连接,认证,或是配置错误.

-C 使能压缩选项.

-P 选择端口.注意-p已经被rcp使用.

-4 强行使用IPV4地址.

-6 强行使用IPV6地址.

拷贝单个文件命令:scp file username@ip:filepath

说明:

file: 要拷贝的文件名.

username: 远程登录的用户名.

ip:远程服务器ip.

filepath:远程文件路径

拷贝文件夹命令如下(多加上一个-r 参数即可):scp -r file username@ip:filepath

广告内容

Linux中利用scp命令进行自动远程拷贝 Linux中利用scp命令进行自动远程拷贝 Linux中利用scp命令进行自动远程拷贝

相关阅读

热门评论

木木老贼 木木老贼

互联网营销达人~

总篇数181

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法