我的局域网上有一台NAS,我希望每天在可移动硬盘上进行一次增量备份,然后每周进行一次完整备份。我听说过crontab
和rsync
,但我对如何进行增量备份和完整备份一无所知。
我的电脑正在运行Linux,因此我可以使用rsync
和crontab
。我应该如何设置rsync
和crontab
一起工作以进行每日增量备份和每周完整备份?
假设NAS IP Address: 192.168.1.100
和可移动硬盘已插入带有USB的PC,我需要编写哪些脚本?我需要备份NAS中的所有文件夹。
提前谢谢!
答案 0 :(得分:2)
以下是有关如何使用rsync和crontab备份linux文件的详细说明。 http://www.cubebackup.com/blog/automatic-backup-linux-using-rsync-crontab/
但您需要了解该过程并根据您的需要进行修改。
答案 1 :(得分:2)
感谢所有答案和提示。我找到了一种方法来做我要求的事情,我希望与大家分享。
首先: backup.sh 。在此文件中,我们设置了源目录和目标文件夹,其中包含我们要复制的所有文件。代码很容易阅读。
#!/bin/bash
#Backup script
#Config
src="/Users/user/Backup/from/*"
dest="/Users/user/Backup/to"
log="/Users/user/Backup/backup.log"
user=$USER
date=$(date +"%d-%m-%Y %T")
#Output on log file
echo "--- Start Backup" >> $log
echo "--- Source: $src" >> $log
echo "--- Dest : $dest" >> $log
echo "--- $date by $user" >> $log
echo "---" >> $log
#Command
rsync -t -r -v --progress --stats --delete $src $dest >> $log
#Output on log file
echo "---" >> $log
echo "--- End Backup" >> $log
第二名: crontab 。使用几个命令行,我们可以每天(夜晚)在23.59设置一个crontab作业。打开终端(使用root权限$ su
并输入root密码。如果您是第一次使用root,请先使用$ sudo passwd
设置密码。
使用
# crontab -e
然后让上一个脚本(应该保存在/Users/user/Backup/backup.sh
中)每天23:59运行。
59 23 * * * /Users/user/Backup/backup.sh