如何每周同一时间进行自动备份?

如何每周同一时间进行自动备份?

因此,对于我目前正在学习的课程,我很快就要进行测试。 (这是一个低级课程)我们正在使用 RHEL6,并且我们已经获得了一个示例测试来完成。有一个问题我似乎无法解答,因为我不记得老师曾经解释过类似的事情。确切的问题是这样的:

每周六凌晨 02:00 使用 tar 命令自动备份 /home 目录。将此备份保存在名为 /backup 的目录下,文件名为 system_backup.tar.bz。请注意,所有备份都应根据组织标准执行,该标准要求我们查看 system_backup.tar.bz 上的时间戳以确保它是创建的最新文件。

我知道如何创建备份目录,并且知道如何使用 tar 归档内容,但我真的不确定如何自动化此过程,因为我还没有被教过!我有点担心,我在网上找到的所有内容都相当混乱。如果有人可以提供帮助,我将不胜感激!提前致谢。

答案1

是的,您需要设置一个在 xyz 军事时间运行的 cron 作业。 crontab 的唯一工作是启动一个脚本,您必须“像下面的那样”编写该脚本。该脚本可以用shell编写并添加到cron中以在xyz时间执行。

在这里阅读有关 cron 的信息。https://wiki.archlinux.org/index.php/cron

阅读这个答案:https://askubuntu.com/questions/350861/how-to-set-a-cron-job-to-run-a-shell-script

这是我在网上找到的示例脚本。

#!/bin/sh

BKUP_FILE_NAME="bkup-"`date +%Y-%m-%d`".tgz.enc"

# trap ctrl-c and call ctrl_c()
trap ctrl_c INT

function ctrl_c() {
        echo "Exiting..."
        exit 1
}

if [[ $1 == '-d' ]];
then
        # Decrypt
        openssl aes-256-cbc -d -salt -in $2 | tar xzf -
        exit 0
fi

mkdir bkup

rsync -r --relative .dwm/config.h bkup/
rsync -r --relative .st/config.h bkup/
rsync -r --relative .ssh bkup/


# Thunderbird
rsync -r --relative .thunderbird/ bkup/
rm -r bkup/.thunderbird/*.default/*.sqlite

# Pidgin
rsync -r --relative .purple bkup/
rm -r bkup/.purple/logs

# Encrypt
tar cz bkup | openssl aes-256-cbc -salt -out $BKUP_FILE_NAME

# Clean up
rm -r bkup

相关内容