日志通过脚本导入到HDFS当中
关注公众号:分享电脑学习
回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)
利用shell脚本定时备份日志数据到HDFS上(适合日志数据比较少的时候)
时间命令
date +"%Y%m%d" 今天的日期
date -d "1 day ago" +"%Y%m%d" 昨天的日期
date -d "-1 day" +"%Y%m%d" 昨天的日期
获取昨天的日志:
mv access.log 20200128access.log
在nginx目录下创建一个目录:mkdir scripts
创建脚本:vi cut_nginx_log.sh
授权chmod 755 cut_nginx_log.sh
代码编写
测试执行
日志剪切走了
再创建一个脚本:vi put_log_hdfs.sh
授权chmod 755 put_log_hdfs.sh
编写脚本内容
测试执行
可以看到HDFS上有数据
再写一个脚本,分别调用两个脚本 total_put_and_cut_log.sh
授权chmod 755 total_put_and_cut_log.sh
第一个脚本调用完了之后
睡眠1分钟,让第一个脚本有充足的时间备份
再调用第二个脚本
测试执行
这里因为刚刚已经上传了所以文件已经存在
定时执行crontab:
crontab -e
00 00 * * * /bin/sh /user/local/nginx/logs/apps/nginx/logs/scripts/total_put_and_cut_log.sh查看任务:crontab -l
需要重启crontab:
service crond restart