vsftpd日志配置与定时清理及备份

1 开启日志功能

在配置文件vsftpd.conf中添加

xferlog_enable=YES	//这个选项启用了传输日志记录功能。
vsftpd_log_file=/mnt/ram/vsftpd.log	//这个选项指定了传输日志文件的存放路径和文件名。

这样就可以实现VSFTPD的日志功能了,如果不使用vsftpd_log_file指定路径,则会采用默认路径"/var/log/vsftpd.log"

2 设置日志备份,并定时清理日志文件

根据vsftpd3.0.5的源码,关于日志,vsftpd只提供日志记录服务,并不提供日志的维护。即vsftpd只会一直往你给定的日志文件或默认的日志文件里写,并不会考虑这个日志文件有多大,也不会定时清理或覆盖。

避免日志文件无限增大,可以写一个shell脚本,但是shell脚本我也不怎么会,大四学校其实开了Linux基础有系统机会好好学Shell的,但是我只听了几节课,就没去学校了。。。想哭好好学习的重要性。

#!/bin/sh
backup_dir="/XXX/XXX/XXX/XXX"	#日志需要备份的位置
baseLog_dir="/XXX/XXX/XXX/XXX"	#日志所在路径
vsftpd_log="vsftpd.log"

#不存在则创建
if [ ! -d "$backup_dir" ]; then
    mkdir -p "$backup_dir"  # 使用 -p 选项创建目录
fi

if [ -f "$baseLog_dir/$vsftpd_log" ]; then	
	cp $baseLog_dir/$vsftpd_log $backup_dir/0_$vsftpd_log
	echo > $baseLog_dir/$vsftpd_log
fi

在终端上输入 crontab -e

0 */1 * * * /opt/vw/bin/Communicate/logBackup.sh

设置了一个 cron 任务,它将每小时执行一次 /opt/vw/bin/Communicate/logBackup.sh 脚本。这个 cron 表达式 0 */1 * * * 的意思是:

0:在每小时的第0分钟执行。
*/1:每1小时执行一次。
*:对于日、月、周的字段,* 表示任何值,即每天、每月、每周。

这样就可以啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值