sh 使用作为cronjob启动的脚本创建Raspberry Pi备份

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 使用作为cronjob启动的脚本创建Raspberry Pi备份相关的知识,希望对你有一定的参考价值。

#!/bin/bash

# Cron installation:
# 30 05 * * * /root/scripts/raspberry-pi-backup.sh >> /root/logs/raspberry-pi-backup.log 2>&1

# Configuration
external="/backup"       # Check if external storage is mounted
folder="$external/raspi" # Base backup folder
dev="/dev/mmcblk0"       # Device to backup
days=10                  # Delete backups older than X days

e() {
    echo $1
    echo ''
}

echo ""

e "Start at: `date "+%Y-%m-%d %H:%M:%S"`"

if [ "$external" != "" ]; then
    mounted=$(mount | grep $external)

    if [ "$mounted" == "" ]; then
        echo ''
        echo 'External Disk is not mounted'
        echo ''

        mount

        exit 1
    fi
fi

if [ ! -d "$folder" ]; then
    install -d "$folder"
fi

image=$folder'/'$(date "+%Y%m%d-%H%M%S")'.img.gzip'

e "Dumping dev to $image"
e "dd if=$dev | gzip > $image"

dd if=$dev | gzip > $image

e "Deleting old images"
e "find $folder -maxdepth 1 -name *.img.gzip -type f -mtime +$days -exec rm -rf {} \;"

find $folder -maxdepth 1 -name "*.img.gzip" -type f -mtime +$days -exec rm -rf {} \;

e "End at: `date "+%Y-%m-%d %H:%M:%S"`"

exit 0

以上是关于sh 使用作为cronjob启动的脚本创建Raspberry Pi备份的主要内容,如果未能解决你的问题,请参考以下文章

允许拒绝或尝试以CRONJOB作为CRONJOB运行PHP脚本以创建.txt文件时的某些内容

sh 用于Cronjob的Mongodump Shell脚本

如何定期将shell脚本的结果设置为Kubernetes Cronjob的参数

安排 cronjob 删除 X 天之前修改的文件

cronjob 不执行独立运行的脚本

使用 Python 脚本作为 cronjob 读取 Gmail 邮件