Linux主机scp命令详解和定时备份方法

from  http://www.ezencart.com/pages/763.html


主机内部和主机之间的数据备份和转移是我们最长做的事情了,如果有web server那么可以 直接 wget http://www.xx.com/x.zip即可,如果有ftp server时,可以使用ftp命令上传下载,如果二者都没有的话,scp命令就有用武之地了。

scp简介

scp是secure copy的简写,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的

scp命令基本格式

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

常用参数

1 -P #port  注意是大写的P, SSH的端口号(默认22可以省略)
2 -v  #用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
3 -C #允许压缩
4 -r  #递归复制整个目录

常用方法

1 #从 本地服务器 复制到 远程服务器
2 #scp [可选参数] 本地文件/目录 远程用户名@远程地址:远程文件/目录
3  
4 #本地文件backup.zip发送到远程backup目录下
5 scp /home/backup.zip root@ip:/home/others/backup
6  
7 #本地文件backup.zip发送到远程并改名为otherbackup.zip
8 scp /home/backup.zip root@ip:/home/others/otherbackup.zip
9  
10 #将本地backup整个复制到远程/home/others下
11 scp  -r /home/backup root@ip:/home/others
12  
13 #从 远程服务器 复制到 本地服务器
14 #scp [可选参数] 远程用户名@远程地址:远程文件/目录 本地文件/目录
15 #同理,只不过远程的写在前面

执行后,系统会要求输入远程SSH的登录密码(ps:上面命令中,远程用户名@,可以省略,这样执行后系统就是要求输入用户名和密码),同样可以使用密匙对的方式登录,方法参照Windows下Puty SSH公钥验证实现免密码登陆详细图文教程

将生成的公钥id_rsa.pub改名为authorized_keys,并上传到远程服务器的~/.ssh/下,私钥留着本地服务器。这样在执行上面命令后,就不需要密码了

定时备份方法

在建立密匙对方式登录后,我们可以在脚本中利用scp命令进行备份,利用crontab来定时执行

1 #!/bin/sh
2 backpath=/backup/   #本地备份目录
3 date=`date +%y%m%d`
4 site=sitename
5 tar zcf ${backpath}${site}"-"${date}.tar.gz /var/html/www/${site}  #压缩网站数据,并以网站名-时间方式命名
6 scp ${backpath}${site}"-"${date}.tar.gz root@ip:/var/backup #上传到远程服务器/var/backup中
7 find ${backpath} -mtime +30 -exec rm {} \;  #删除本地备份目录超过30天前的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值