scp备份免登陆


查找相关文章:scp 备份

1、scp在建立连接中是需要密码认证的,所以我们第一步就是添加ssh公匙。

ssh终端运行

ssh-keygen -t rsa
Generating public/private rsa key pair.
#保存位置
Enter file in which to save the key (/home/.username/ssh/id_rsa):#回车
#设置密码
Enter passphrase (empty for no passphrase):#回车
#重复密码
Enter same passphrase again:#回车
Your identification has been saved in /home/.username /.ssh/id_rsa.
Your public key has been saved in /home/.username /.ssh/id_rsa.pub.
The key fingerprint is:
38:25:c1:4d:5d:d3:89:bb:46:67:bf:52:af:c3:17:0c username@localhost
Generating RSA keys:
Key generation complete.

会在用户目录~/.ssh/产生两个文件,id_rsa,id_rsa.pub

2.是把本地(10.1.1.1)主机上的id_rsa.pub文件拷贝到远程linux(10.1.1.2)主机的root用户主目录下的.ssh目录下,并且改名为authorized_keys

即:

scp /root/.ssh/id_rsa.pub root@10.1.1.2:/root/.ssh/authorized_keys

这样在本地linux(10.1.1.1)主机上使用scp命令复制文件到远程linux主机(10.1.1.2)上将不提示输入密码了,直接复制了。反之亦然!(为了安全建议将authorized_keys属性变更为400)


3.创建一个sh文件 vi backup.sh

#!/bin/bash
cd /var/www/html/backup

#定义备份名字 bbs和home 设定每月备份一次 备份完就删除
BakName=dayanmei_$(date +"%Y%m%d").tar.gz

#打包dayanmei文件
tar zcf /var/www/html/backup/$BakName /var/www/html/dayanmei
#拷贝到远程服务器
scp -P 22 /var/www/html/backup/$BakName root@127.0.0.1:/var/www/html/backup/
#删除文件
rm -rf /var/www/html/backup/$BakName

4.增加可执行权限

chmod +x backup.sh

5.加入计划任务 crontab -e 每天凌晨1点10分执行

10 1 * * * /var/www/html/backup/backup.sh