麒麟os实现周期性自动备份需依托crontab服务:一、启用crond守护进程并设为开机自启;二、用root级crontab配置每日tar压缩备份;三、通过/etc/crontab实现多用户同步任务;四、将独立任务部署至/etc/cron.d/目录;五、结合rsync脚本与定时任务完成增量同步。

如果您希望在麒麟操作系统中实现数据或系统配置的周期性自动保存,避免因误操作、硬件故障导致信息丢失,则需借助系统原生的crontab服务构建可靠定时备份机制。以下是设置定期自动备份任务的具体路径:
一、确认cron服务已启用并运行
crontab依赖后台守护进程crond提供调度能力,若该服务未启动,所有定时任务均不会触发。必须首先验证其状态并确保开机自启。
1、执行命令检查服务运行状态:sudo systemctl status crond
2、若显示“inactive (dead)”,则立即启动服务:sudo systemctl start crond
3、设置开机自动运行:sudo systemctl enable crond
4、关键提示:麒麟OS部分版本默认使用crond而非cron,请勿混淆服务名;若提示“Unit crond.service not found”,可尝试sudo systemctl status cron进行兼容性检查。
二、使用用户级crontab配置每日压缩备份
该方法适用于普通用户或root在本地目录执行tar归档,无需修改全局配置,权限隔离清晰,且支持语法校验与文件锁保护。
1、创建备份目标目录:sudo mkdir -p /backup
2、以root身份编辑定时任务:sudo crontab -e
3、在打开的编辑器中新增一行(示例为每日凌晨2点备份/home):0 2 * * * tar -zcpf /backup/home_$(date +\%Y\%m\%d).tar.gz /home 2>>/var/log/backup_err.log
4、保存退出后,确认任务已写入:sudo crontab -l
5、手动执行一次测试,验证压缩包完整性:sudo tar -zcpf /backup/test_$(date +\%Y\%m\%d).tar.gz /home
三、通过系统级/etc/crontab配置多用户同步任务
/etc/crontab是全局定时配置文件,支持显式指定执行用户,适合需以不同身份运行多个备份脚本的混合场景,例如同时以root备份系统配置、以www-data备份网站数据。
1、使用管理员权限编辑系统级配置:sudo nano /etc/crontab
2、在文件末尾添加两行示例任务:
0 3 * * * root /usr/bin/tar -zcpf /backup/etc_$(date +\%Y\%m\%d).tar.gz /etc
30 3 * * * www-data /usr/bin/rsync -av --delete /var/www/html/ /backup/www_bak/
3、注意每行格式必须严格为“分 时 日 月 周 用户名 命令绝对路径”,且命令须使用全路径(如/usr/bin/tar而非tar)。
4、保存后无需重启服务,系统将在下一个匹配时间点自动加载新规则。
四、将独立任务文件部署至/etc/cron.d/目录
/etc/cron.d/目录用于存放结构化、可管理的独立任务定义,每个文件对应一个业务单元,便于权限分配、版本控制及软件包集成,避免主配置文件臃肿。
1、创建专用任务文件:sudo nano /etc/cron.d/kylin_config_backup
2、写入以下内容(每日凌晨4点导出主机与网络配置):
0 4 * * * root /bin/bash -c 'mkdir -p /opt/kylin-config-export/$(date +\%Y%m%d); hostnamectl > /opt/kylin-config-export/$(date +\%Y%m%d)/hostnamectl.txt; ip addr show > /opt/kylin-config-export/$(date +\%Y%m%d)/ip_addr.txt'
3、确保该文件权限为644:sudo chmod 644 /etc/cron.d/kylin_config_backup
4、重要提醒:/etc/cron.d/下所有文件必须包含用户名字段,且禁止以#开头的注释行出现在非首行位置,否则可能导致整行被忽略。
五、配置rsync增量同步并绑定定时触发
rsync具备差异比对能力,仅传输变更部分,大幅降低I/O压力与带宽占用,配合crontab可实现高效持续备份,尤其适用于远程NAS或异地服务器同步场景。
1、生成SSH密钥并免密登录目标主机:ssh-keygen -t rsa && ssh-copy-id user@192.168.10.151
2、编写同步脚本:sudo nano /usr/local/bin/kylin_rsync_backup.sh
3、填入以下内容(同步/etc、/var/log、/opt三个目录):
#!/bin/bash SRC="/etc /var/log /opt" DEST="user@192.168.10.151:/backup/kylin/" rsync -av --delete --log-file=/var/log/rsync_kylin.log $SRC $DEST
4、赋予执行权限:sudo chmod +x /usr/local/bin/kylin_rsync_backup.sh
5、设置每日凌晨3点执行:sudo crontab -e,新增一行:0 3 * * * /usr/local/bin/kylin_rsync_backup.sh










