使用crontab进行增量备份

时间:2014-11-29 00:09:22

标签: backup crontab rsync nas

我的局域网上有一台NAS,我希望每天在可移动硬盘上进行一次增量备份,然后每周进行一次完整备份。我听说过crontabrsync,但我对如何进行增量备份和完整备份一无所知。

我的电脑正在运行Linux,因此我可以使用rsynccrontab。我应该如何设置rsynccrontab一起工作以进行每日增量备份和每周完整备份?

假设NAS IP Address: 192.168.1.100和可移动硬盘已插入带有USB的PC,我需要编写哪些脚本?我需要备份NAS中的所有文件夹。

提前谢谢!

2 个答案:

答案 0 :(得分:2)

以下是有关如何使用rsync和crontab备份linux文件的详细说明。 http://www.cubebackup.com/blog/automatic-backup-linux-using-rsync-crontab/

但您需要了解该过程并根据您的需要进行修改。

答案 1 :(得分:2)

感谢所有答案和提示。我找到了一种方法来做我要求的事情,我希望与大家分享。

  1. 首先: 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
    
  2. 第二名: crontab 。使用几个命令行,我们可以每天(夜晚)在23.59设置一个crontab作业。打开终端(使用root权限$ su并输入root密码。如果您是第一次使用root,请先使用$ sudo passwd设置密码。 使用

    打开crontab编辑器
    # crontab -e
    

    然后让上一个脚本(应该保存在/Users/user/Backup/backup.sh中)每天23:59运行。

    59 23 * * * /Users/user/Backup/backup.sh