首页 » Linux » liunx基础 » 阅读文章
Linux主机scp命令详解和定时备份方法
主机内部和主机之间的数据备份和转移是我们最长做的事情了,如果有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天前的数据
声明: 本文由Ezencart原创,转载请保留链接:Linux主机scp命令详解和定时备份方法
评论 共0条 (RSS 2.0) 发表评论