自学内容网 自学内容网

Linux 定时备份系统日志

SSH跨机免密登录

定时备份首先要实现免登入
一、scp 一个文件从其他服务器到本机,怎么跳过ssh登录验证呢?
要在使用SCP时跳过密码登录,你可以设置SSH密钥认证。首先,你需要在本地机器上生成SSH密钥对(公钥和私钥),然后将公钥添加到远程服务器的授权密钥文件中。生成公钥

ssh-keygen

在这里插入图片描述
然后看看ssh目录下是否有文件夹

cd ~/.ssh/

给免登入ip设置一下公钥

ssh-copy-id root@131.0.63.107
//如果设置端口如2233
ssh-copy-id -p 2233 root@131.0.63.107

在这里插入图片描述
输入密码后测试一下是否免登

exit 退出
//如果设置端口如2233
ssh -p 2233 root@131.0.63.107
//默认的22
ssh root@131.0.63.107

复制备份到另一台虚机上

写成脚本执行 cron.sh

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
scp /var/log/audit/audit.log root@131.0.63.107:/root/log/131063168/
scp /var/log/openEuler-security.log root@131.0.63.107:/root/log/131063168/
scp /var/log/systemtap.log root@131.0.63.107:/root/log/131063168/
scp /var/log/cron root@131.0.63.107:/root/log/131063168/
scp /var/log/messages root@131.0.63.107:/root/log/131063168/

如果我们不想覆盖原文件我们应该写成日期动态备份:

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
dong_audit=`date +"audit_%Y_%m_%d_%H_%M_%S.log"`
scp /var/log/audit/audit.log root@131.0.63.107:/root/log/131063168/$dong_audit
dong_open_euler=`date +"openEuler-security_%Y_%m_%d_%H_%M_%S.log"`
scp /var/log/openEuler-security.log root@131.0.63.107:/root/log/131063168/$dong_open_euler
dong_systemtap=`date +"systemtap_%Y_%m_%d_%H_%M_%S.log"`
scp /var/log/systemtap.log root@131.0.63.107:/root/log/131063168/$dong_systemtap
dong_cron=`date +"cron_%Y_%m_%d_%H_%M_%S.log"`
scp /var/log/cron root@131.0.63.107:/root/log/131063168/$dong_cron
dong_messages=`date +"messages_%Y_%m_%d_%H_%M_%S.log"`
scp /var/log/messages root@131.0.63.107:/root/log/131063168/$dong_messages

开启定时任务

crontab -e
//每天凌晨一点半执行
30 1 * * * sh /aaaa.sh

保存退出;
日志备份就写好了


原文地址:https://blog.csdn.net/songyinyi/article/details/142909351

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!