实现LINUX定期备份数据至NAS中
前置条件
- linux
- 群晖NAS
1.NAS准备工作
首先确保NAS系统已经处于配置成功的状态
在控制面板
–>文件服务
–>rsync
下启用rsync服务
启用之后会生成一个NetBackup的文件夹
2.在linux系统中测试一下rsync的备份命令
rsync -av -e ssh /linux_bakupFile_path nas_user@nas_ip::NetBackup/
然后根据提示输入NAS的密码就行了
参数解释
- linux_backupFile_path :此处的路径为linux系统中需要进行备份的路径
- nas_user:nas账户名
- nas_ip:nas的IP地址
-a
表示归档,保留文件权限、时间属性。-v
表示详细输出-e ssh
表示通过ssh协议传输::NetBackup
为备份至nas的目标目录,我用的是nas自动生成的文件目录
控制台展示
NAS界面也成功同步
3.解决备份时需要输入NAS的登录密码问题
我这里使用的是sshpass,也可以使用ssh生成密钥的方式进行
安装sshpass
- 内置源没有的话就只能下载了:https://jaist.dl.sourceforge.net/project/sshpass/sshpass/1.10/sshpass-1.10.tar.gz
安装完成后就可以使用密码登录
sshpass -p 'nas_password' rsync -av -e ssh /linux_bakupFile_path nas_user@nas_ip::NetBackup/
参数解释
-p
后面nas_password
为nas的账户密码
这样密码就已经提前输入,不用等执行命令后再输入了
4.定时备份
- 定时备份需要用到
cron
定时任务 - 打开
crontab -e
配置文件 - 将下方备份的命令保存
0 5 * * * sshpass -p 'nas_password' rsync -av -e ssh /linux_bakupFile_path nas_user@nas_ip::NetBackup/
参数说明
0
表示分钟5
代表小时数,此处为凌晨5点*
后续的三个星号分别代表天数
、月份
、星期几
。- 使用
crontab -l
如果可以成功输出上述的命令就代表成功