lsyncd定时备份
前段时间2TB的固态硬盘突然坏了,才想起硬盘还是比较容易坏。还好通过diskgenius找回了大部分关键数据,从此还是要养成备份的习惯。准备一个U盘,将一些重要的数据定时备份到U盘中,这样多一份保险。
当前环境
- ubuntu server-22
- lsyncd-2.2.3
一、安装rsync+lsyncd
apt install rsync lsyncd
二、配置同步备份目录
添加备份目录直接添加sync配置就行,可能不同发行版本配置文件路径会不一样,具体路径请参考/etc/init.d/lsyncd文件
# apt安装时默认不存在,需要手动创建
mkdir /etc/lsyncd
# 以下命令将覆盖文件内容,执行前请确保该文件不存在
cat <<EOF > /etc/lsyncd/lsyncd.conf.lua
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
pidfile = "/var/run/lsyncd.pid",
statusInterval = 10,
maxProcesses = 1,
maxDelays = 100,
}
sync {
default.rsync,
source = "<source-1>",
target = "<target-1>",
excludeFrom="/etc/lsyncd/exclude",
}
sync {
default.rsync,
source = "<source-2>",
target = "<target-2>",
excludeFrom="/etc/lsyncd/exclude",
}
EOF
# 生成不需要同步文件配置
cat <<EOF > /etc/lsyncd/exclude
*.swp
_.bak
_.tmp
EOF
三、启动服务
# 启动服务
sudo systemctl start lsyncd
# 注册开机服务
sudo systemctl enable lsyncd
三、配置日志轮询切割
为了防止日志过大,添加日志轮询切割配置
cat <<EOF > /etc/logrotate.d/lsyncd
/var/log/lsyncd/lsyncd.log {
weekly
missingok
notifempty
maxsize 5M
rotate 14
delaycompress
# create 0640 rsync root
sharedscripts
postrotate
[ ! -f /var/run/lsyncd.pid ] || kill -USR2 `cat /var/run/lsyncd.pid`
endscript
}
EOF