scp定时备份文件

配置免密登录(rsa)

(1)登录后端服务器79,执行命令,生成无密码的密钥对。

ssh-keygen -t rsa

按回车继续即可,会在/root/.ssh下生成2个文件。

(2)在79上执行命令,将密钥文件传给前端服务器78

scp -v -r /root/.ssh/id_rsa.pub root@192.168.0.120:/root/.ssh

这个命令从79把id_rsa.pub文件传到了78服务器的/root/.ssh目录下;这里需要先输入一次78的密码。

(3)登录前端服务器78,执行命令,将公钥添加到本地认证文件中。
如果提示文件不存在,可以先执行’ssh-keygen -t rsa’命令,会自动创建.ssh文件夹,然后执行下面的命令就不会报错了。

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

(4)重要,执行以下命令,设置78的路径权限与文件权限。

chmod 700  /root
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys

说明:
以上权限不能图省事,设置为777;
用户路径权限必须是700;
.ssh路径权限必须是700;
authorized_keys的权限必须是600;

如果权限错误,则会导致配置免密登录无效、执行scp命令还是要求输入密码的情况。

(5)需要按照上方的步骤,反过来配置下这两台服务器。

(6)现在从前端服务器78可以免密访问后端服务器79了,可以登录78,执行scp命令测试,如果不用输入密码,即是配置成功。

scp脚本与定时任务

scp脚本:

#!/bin/bash


# 设置变量
source_user="root"
source_host="192.168.0.114"
source_secure_path="/var/log/secure"
source_message_path="/var/log/messages"
source_cron_path="/var/log/cron"
destination_user="root"
destination_host="192.168.0.120"
target_secure_path="/usr/local/shuang/linux/secure"
target_message_path="/usr/local/shuang/linux/message"
target_cron_path="/usr/local/shuang/linux/cron"
local_backup_path="/var/log/backup"



# 执行拷贝操作
scp -v -r "${source_secure_path}" "${destination_user}@${destination_host}:${target_secure_path}"
scp -v -r "${source_message_path}" "${destination_user}@${destination_host}:${target_message_path}"
scp -v -r "${source_cron_path}" "${destination_user}@${destination_host}:${target_cron_path}"



# 获取当前日期和时间
current_datetime=$(date +"%Y-%m-%d_%H-%M-%S")



#备份到本地服务器
cp "${source_secure_path}"  "${local_backup_path}/secure/secure_${current_datetime}"
cp "${source_cron_path}" "${local_backup_path}/cron/cron_${current_datetime}"
cp "${source_message_path}" "${local_backup_path}/message/message_${current_datetime}"



# 备份到目标服务器,在目标服务器上修改文件名
ssh "${destination_user}@${destination_host}" "mv ${target_secure_path}/secure ${target_secure_path}/secure_${current_datetime}"
ssh "${destination_user}@${destination_host}" "mv ${target_message_path}/messages ${target_message_path}/messages_${current_datetime}"
ssh "${destination_user}@${destination_host}" "mv ${target_cron_path}/cron ${target_cron_path}/cron_${current_datetime}"

定时任务:

打开定时器

crontab -e

设置定时任务

*/3 * * * * /bin/bash /var/log/linux.sh
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值