需求:
等保要求服务器A日志(服务器、数据库、后端、nginx、redis等)备份在另外一台服务器B上
实现原理
通过定时任务+sh脚本+scp命令,实现定时执行脚本,将文件备份到另外一台服务器上
例子:
step1、准备工作
服务器A ipA
服务器B ipB
step2、脚本命令backup.sh
服务器A上,以nginx日志为例
#! /bin/sh
DATE=`date +%Y%m%d`
BAK_NAME=nginx_error_${DATE}.out
scp -P 22 /usr/local/nginx/logs/error.log root@ipB:/data/bak/nginx/${BAK_NAME}
step3、配对秘钥
由于直接执行上述命令需要与服务器B建立连接,还需要输入密码操作,所以要解决SCP命令输入密码的问题
同样在服务器A中:
①主机A生成配对秘钥,在root目录下执行:
ssh-keygen -t rsa
②将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys:
scp ~/.ssh/id_rsa.pub ipB:/root/.ssh/authorized_keys
step4、设置定时任务:
crontab -e
00 17 * * * /backup.sh >> /backup.txt 2>&1 &
crontab -l
出现问题:
①无权限:文章来源:https://www.toymoban.com/news/detail-591908.html
sudo chmod +777 /Map/social_control/social_control.sh
②/bin/sh^M: bad interpreter: No such file or directory
编码格式问题,通过vi backup.sh | :set ff=unix(回车)| :wq
系列命令即可解决文章来源地址https://www.toymoban.com/news/detail-591908.html
到了这里,关于通过定时任务+sh脚本方式实现服务器日志文件异机备份的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!