Linux下使用scp命令进行自动远程拷贝

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

scp --- 主要是在不同的Linux系统之间来回copy文件

scp命令基本格式:

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2

scp命令的参数说明:

-1
强制scp命令使用协议ssh1
-2
强制scp命令使用协议ssh2
-4
强制scp命令只使用IPv4寻址
-6
强制scp命令只使用IPv6寻址
-B
使用批处理模式(传输过程中不询问传输口令或短语)
-C
允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限。
-q
不显示传输进度条。
-r
递归复制整个目录。
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher
以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config
指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file
从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit
限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option
如果习惯于使用ssh_config(5)中的参数传递方式,
-P port  注意是大写的P, port是指定数据传输用到的端口号
-S program
指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

从 本地 复制到 远程

scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root (然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了),复制目录加参数 -r 即可

从 远程 复制到 本地

scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz

例子

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

时间: 2024-09-24 09:56:45

Linux下使用scp命令进行自动远程拷贝的相关文章

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

一般情况下执行拷贝命令时会提示我们输入远程服务器的用户名和密码,这在自动执行的程序中是一个障碍,因为没有人工的干预.关于服务器之间互访不需要密码的方式前面已经有介绍,可以参考前面的文章.这里介绍一下scp拷贝命令. scp 本地用户名@IP地址:文件名1 远程用户名@IP地址:文件名2 [本地用户名@IP地址:] 可以不输入,可能需要输入远程用户名所对应的密码. scp 命令================== scp 可以在 2个 linux 主机间复制文件:   命令基本格式: scp [可

关于linux下的cp命令 如何把文件拷贝到任意文件夹下

问题描述 关于linux下的cp命令 如何把文件拷贝到任意文件夹下 比如将etc下的hosts文件拷贝:cp /etc/hosts ~ 该文件就会被拷贝至用户文件夹下 可是如果想在etc下再拷贝一份 应该怎么操作 这样的命令:cp /etc/hosts ~/etc/host.new 会被显示无效 是不是只能把文件拷贝到/Users/下的用户文件夹里 解决方案 应该是不可以的,man cp可以看到: Copy SOURCE to DEST, or multiple SOURCE(s) to DIR

在 Linux 下使用 scp 命令

scp 是安全拷贝协议Secure Copy Protocol的缩写,和众多 Linux/Unix 使用者所熟知的拷贝(cp)命令一样.scp 的使用方式类似于 cp 命令,cp 命令将一个文件或文件夹从本地操作系统的一个位置(源)拷贝到目标位置(目的),而 scp 用来将文件或文件夹从网络上的一个主机拷贝到另一个主机当中去. scp 命令的使用方法如下所示,在这个例子中,我将一个叫 "importantfile" 的文件从本机(10.10.16.147)拷贝到远程主机(10.0.0.

在Linux下用scp复制文件无需输入密码的技巧_linux shell

当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码.把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中假设本地主机linux100,远程主机linux200 一,在linux100主机里的用户 运行 #ssh-keygen -t rsa 结果如下 QUOTE: Generating public/private rsa key pair. Enter file in which to save the k

Linux下通过script 命令记录(数据库)操作步骤

对DBA而言,经常碰到升级数据库或是apply patch,以及有些时候需要运行大量的脚本.对于这些操作我们希望现在在屏幕同时又输出的文件以备后续查询过程中曾经丢失的步骤或错误.Linux下的script命令就是解决这个问题的好帮手   1.script命令描述   复制代码 代码如下: script命令会记录所有的操作到文件同时在屏幕上输出,直到终止登陆的会话,或使用CRTL+D,或使用exit退出则停止记录. 这个命令对于数据库的升级或是重要设置的情形下使用可以用于后续查询操作成功或失败.

实例详解Linux下的Make命令_Linux

前言 无论是在linux 还是在Unix环境 中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系.而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员 来说简直就是一场灾难.而make工具则可自动完成编译

linux 下的yum命令详解_Linux

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...] 其中的[opt

Linux下的chkconfig命令详解_Linux

chkconfig命令 Linux下的chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法 chkconfig [–add][–del][–list][系统服务] 或 chkconfig [–level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返回true

linux下执行shell命令方法简介_linux shell

linux下执行shell命令有两种方法  在当前shell中执行shell命令 在当前shell中产生一个subshell,在subshell中执行shell命令  1.在当前shell中执行shell命令 主要就是在命令行中通过交互方式方式直接输入shell命令,命令行直接执行给出结果.比如这样: 2.在当前shell中产生一个subshell,在subshell中执行shell命令 比如我们把shell写成shell脚本的方式来运行,这个时候会先启动一个subshell来代替当前的shel