1.rsync增量备份
编写脚本-data备份到usb文件夹下
#!/bin/bash
LOG_FILE="/var/log/backup.log"
SOURCE_DIR="/var/www/html/ECI/data"
BACKUP_DIR="/mnt/usb"
echo "[$(date +%F)] 开始备份" >> $LOG_FILE
rsync -av --delete $SOURCE_DIR $BACKUP_DIR >> $LOG_FILE 2>&1
echo "[$(date +%F)] 备份完成" >> $LOG_FILE
将脚本文件授权
cd /XXX/nextclouddatabackup.sh
chmod +x nextclouddatabackup.sh
2.cron定时任务
通过crontab -e添加定时任务
0 2 * * * /nextclouddatabackup.sh
验证服务状态
systemctl status crond
3.验证脚本执行
cd /XXX/nextclouddatabackup.sh
./nextclouddatabackup.sh
查看执行结果,或日志文件
注意:
报错:-bash: ./autobackup.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录
文件格式错误:脚本在Windows环境下编辑,行尾包含\r\n
(DOS格式),而Linux仅支持\n
(UNIX格式)。错误中的^M
即为Windows换行符\r
的显示
解决办法:通过vim修改
vim autobackup.sh
:set ff=unix # 强制转为UNIX格式
:wq
或者vim中删除换行,重新手动换行再保存一次