Gitlab将备份时间戳备份到其他东西

时间:2014-07-01 15:34:01

标签: linux bash backup gitlab scp

我想创建一个bash脚本,以便在每日cron选项卡中运行。 目标是将gitlab备份生成的tar文件从服务器备份到另一个。

文件名看起来像1393513186_gitlab_backup.tar,其中1393513186是时间戳。

每天,cron选项卡都会检查文件,我需要从最新的日期中检索名称。

我不是真的习惯使用bash脚本,我不知道如何解析所有文件名,所以我想知道如何才能实现呢?

时间戳是真的有用还是我可以将其更改为ruby备份功能中的日期? 它会影响备份恢复吗?

我的bash脚本看起来像这个atm

    #!/bin/bash
    targetpath="/home/git/gitlab/tmp/backups"
    localpath="/media/backup/gitlab"
    today=`date +%Y%m%d`
    if [[ $localpath == "" ]]
    then
            echo "target path is not set"
            exit 1
    fi

    mkdir -p $localpath

    if [ -d $localpath ]
    then
            scp -i ~/.ssh/id_rsa username@192.168.1.146:$targetpath/1404135847_gitlab_backup.tar $localpath
    else
            echo "target path is incorrect"
            exit 1
    fi

1 个答案:

答案 0 :(得分:1)

编写一个自定义bash脚本来传输带版本控制的文件备份是一个很小的问题。你看过backup宝石了吗?它有大量的定制选项,并经过充分测试。将其与whenever宝石相结合,您就可以获得所需的所有功能。

我们在生产系统上使用此设置,我们非常满意。可以找到有关设置的指南here