0x00 简介
在渗透测试环境下,日志溯源会经常存在,所以网站的工作日志是非常重要的。倘若日志被恶意删除,会很麻烦来数据恢复。
所以在这里简单总结一下,怎样在本地分时间备份文件的同时,与远程主机进行同步备份。
0x01 crontab定时备份日志
使用crontab定时备份日志的内容,现把主要步骤记录如下:
首先需要备份的日志的源目录位于/opt/lampp/logs/access_log
备份到/tmp/logs下
备份文件加上时间戳date +%Y%m%d%H%M%S
以上是备份说明,下面分三步操作
1.1 shell脚本
[root@CentOs6 lampp]# vi test.sh #创建shell脚本
#!/bin/bash #编译器
mypath='/tmp/logs' #日志备份到该目录下,定义变量使用单引号
echo ${mypath} #回应/tmp/logs
mylog='/opt/lampp/logs/access_log' #我们要备份的日志
echo ${mylog} #回应/opt/lampp/logs/access_log
time=`date +%Y%m%d%H%M%S`#时间戳,执行命令使用``,esc下面的
echo ${time} #回应时间戳
cp ${mylog} ${mypath}/${time}_access.log #备份日志access_log到/tmp/logs路径下
echo ${mypath} ${mypath}/${time}_access.log #回应
[root@CentOs6 lampp]# ./test.sh #执行test.sh
-bash: ./test.sh: 权限不够 #会提示权限不够
[root@CentOs6 lampp]# chmod +x ./test.sh #需要给这它赋与权限
[root@CentOs6 lampp]# ./test.sh #再次执行,脚本没有报错
/tmp/logs
/opt/lampp/logs/access_log
20161227172323
/tmp/logs /tmp/logs/20161227172323_access.log
1.2 crontab 定时任务
[root@CentOs6 lampp]# crontab -e #编辑定时任务
* * * * * sh /opt/lampp/test.sh #每分钟执行一次test.sh,crontab使用在上篇Linux命令中详细介绍
[root@CentOs6 lampp]# crontab -l #查看定时任务
* * * * * sh /opt/lampp/test.sh
1.3 重启crond
[root@CentOs6 lampp]# service crond reload
重新载入 crond: [确定]
打开xftp查看
1.4 注意
1.先单独执行 .sh ,确定 .sh 可以执行不报错
2.从根目录查找 *.access.log 看看备份的存放路径是否正确
3.检查 crontab 里的空格是不是半角英文
0x02 远程同步备份
利用同步工具rsync:根据具体实际情况,将rsync的传输命令集成在上面的shell脚本中即可
rsync命令格式请见:
https://blog.csdn.net/adley_app/article/details/87880386
注意:这里为了保证安全传输,传输通道不被利用的话,建议将rsync设置成白名单访问或用户名密码访问。