同步文件
假设备份的日志文件在log文件夹,要备份到B服务器的/path/rsync目录,则需要在/path/rsync目录下创建一个log文件夹并设置权限:
代码登录后可见
同步脚本
写一个同步用的定时脚本
代码登录后可见
定时任务
代码登录后可见
例如,如果你想要每天凌晨 1 点运行你的脚本
请注意,你的 sh 脚本需要有执行权限。你可以使用 chmod 命令来给它添加执行权限:
代码登录后可见
在B服务器安装配置GoAccess
安装GoAccess
首先,你需要安装一些必要的构建工具和依赖项。在终端中输入以下命令:
代码登录后可见
下载 GoAccess 的源代码:
代码登录后可见
具体版本可以通过官网获取: [链接登录后可见]
解压下载的文件:
代码登录后可见
进入解压后的目录:
代码登录后可见
配置 GoAccess。这里我们启用 UTF-8 支持和 GeoIP 支持:
代码登录后可见
编译 GoAccess:
代码登录后可见
安装 GoAccess:
代码登录后可见
完成以上步骤后,GoAccess 就应该已经成功安装在你的 Ubuntu 22.04 系统上了。你可以通过输入 goaccess –version 来验证安装是否成功。
安装语言包
如果想要生成的HTML为中文,那么需要安装系统中文语言包
代码登录后可见
安装地域信息
进入GoAccess安装目录:
代码登录后可见
安装 gunzip,这是一个用于解压 .gz 文件的工具。在终端中输入以下命令:
代码登录后可见
然后,你可以从 DB-IP 下载免费的 GeoIP2 数据库。在终端中输入以下命令:
代码登录后可见
下载完成后,你可以使用 gunzip 来解压下载的文件:
代码登录后可见
然后编辑【/usr/local/etc/goaccess/goaccess.conf】文件
找到【geoip-database】,去掉注释,并指定mmdb文件路径:
代码登录后可见
配置定时任务
生成当天访问记录HTML
先写一个脚本:
代码登录后可见
添加 cron 任务:
代码登录后可见
生成全部时间段的HTML
因为我每天会对日志进行分割压缩,所以处理起来稍微复杂一些。
另外为了防止重复分析,将会记录上次解析的时间点,在下一次运行时只解析上次解析时间点之后的日志。
以下是脚本:
代码登录后可见
添加 cron 任务:
代码登录后可见
生成当天访问记录HTML
先写一个脚本:
代码登录后可见
添加 cron 任务:
代码登录后可见
生成全部时间段的HTML
因为我每天会对日志进行分割压缩,所以处理起来稍微复杂一些。
另外为了防止重复分析,将会记录上次解析的时间点,在下一次运行时只解析上次解析时间点之后的日志。
以下是脚本:
代码登录后可见
添加 cron 任务:
代码登录后可见