Skip to main content

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

 

参考资料: