zen-cart网站,模版,采集,二次开发

首页 » Linux » liunx基础 » 阅读文章

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

2012-04-08 22:33 32853 0 发表评论
标签:


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

scp简介

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

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

常用参数

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

常用方法

#从 本地服务器 复制到 远程服务器
#scp [可选参数] 本地文件/目录 远程用户名@远程地址:远程文件/目录

#本地文件backup.zip发送到远程backup目录下
scp /home/backup.zip root@ip:/home/others/backup

#本地文件backup.zip发送到远程并改名为otherbackup.zip
scp /home/backup.zip root@ip:/home/others/otherbackup.zip

#将本地backup整个复制到远程/home/others下
scp  -r /home/backup root@ip:/home/others

#从 远程服务器 复制到 本地服务器
#scp [可选参数] 远程用户名@远程地址:远程文件/目录 本地文件/目录
#同理,只不过远程的写在前面

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

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

定时备份方法

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

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

评论 共0条 (RSS 2.0) 发表评论

  1. 暂无评论,快抢沙发吧。

发表评论

  • 
  • 插入代码

联系我 Contact Me

回到页首