位置: 编程技术 - 正文

在Debian系统中使用backupninja定制备份计划的教程(debian 使用)

编辑:rootadmin

推荐整理分享在Debian系统中使用backupninja定制备份计划的教程(debian 使用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:debian10使用,debian sid,debian ibus,debian系统常用命令,debian操作系统命令,debian系统常用命令,debian10使用,debian操作系统命令,内容如对您有帮助,希望把文章链接给更多的朋友!

回顾 backupninja

backupninja的一个独特的地方是它可以完全抛弃/etc/backup.d中的纯文本配置文件和操作文件,软件自己会搞定。另外,我们可以编写自定义脚本(又叫 “handler”)放在/usr/share/backupninja 目录下来完成不同类型的备份操作。此外,可以通过ninjahelper的基于ncurses的交互式菜单(又叫“helper”)来指导我们创建一些配置文件,使得人工错误降到最低。创建定制的Handler与Helper

这一节的目标是创建一个脚本,将home目录以gzip或bzip2压缩包的形式备份起来,不包括音乐与视频文件。我们将这个文件命名为home,将它放在/usr/backup/ninja目录下。

尽管你可以使用默认的tar handler(参考 /usr/share/backupninja/tar 与 /usr/share/backupninja/tar.helper)来达到这个效果,但是我们使用这种方法来展示如何创建实用的 handler 脚本与基于 ncurses 的 helper。你可以根据你的需求来决定如何运用这里的方法。

由于 handlers 来源于主脚本,所以无需以#!/bin/bash开始的释伴行(shebang line)。

我们编写的 handler (/usr/share/backupninja/home)如下所示。已经详细注释了。getconf 函数用来读取备份操作的配置文件。如果你指定了一个变量的值,那么它会覆盖配置文件中对应变量的值:

复制代码代码如下: #/home 目录 handler 脚本 # 每个备份文件会通过 FQDN 来鉴别主机 getconf backupname # 备份文件的保存目录 getconf backupdir # 默认压缩 getconf compress # 包含 /home 目录 getconf includes #不包含 *.mp3 与 *.mp4 文件 getconf excludes # 要打包备份文件的默认扩展名 getconf EXTENSION # tar 程序的绝对路径 getconf TAR `which tar` # date 程序的绝对路径 getconf DATE `which date` # 日期格式 DATEFORMAT="%Y-%m-%d" # 如果备份目录不存在,以致命错误退出 if [ ! -d "$backupdir" ] then mkdir -p "$backupdir" || fatal "Can not make directory $backupdir" fi # 如果备份目录不可写,同样以致命错误退出 if [ ! -w "$backupdir" ] then fatal "Directory $backupdir is not writable" fi # 根据压缩格式选择对应的tar选项 case $compress in "gzip") compress_option="-z" EXTENSION="tar.gz" ;; "bzip") compress_option="-j" EXTENSION="tar.bz2" ;; "none") compress_option="" ;; *) warning "Unknown compress filter ($tar_compress)" compress_option="" EXTENSION="tar.gz" ;; esac # 不包含一些文件类型/目录 exclude_options="" for i in $excludes do exclude_options="$exclude_options --exclude $i" done # 调试信息,执行备份操作 debug "Running backup: " $TAR -c -p -v $compress_option $exclude_options -f "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`".$EXTENSION" $includes # 将标准输出重定向到以.list为扩展的文件 # 将标准错误输出重定向到以.err为扩展的文件 $TAR -c -p -v $compress_option $exclude_options -f "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`".$EXTENSION" $includes > "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`.list 2> "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`.err [ $? -ne 0 ] && fatal "Tar backup failed"

接下来我们将要创建helper文件(/usr/share/backupninja/home.helper)。这样,hendlers将会以菜单的形式在ninjahelper中显示:

复制代码代码如下: # 备份操作描述,以下划线分割单词 HELPERS="$HELPERS home:backup_of_home_directories" home_wizard() { home_title="Home action wizard" backupname=`hostname --fqdn` # 指定备份操作的时间 inputBox "$home_title" "When to run this action?" "everyday at " [ $? = 1 ] && return home_when_run="when = $REPLY" # 指定备份文件名 inputBox "$home_title" ""Name" of backups" "$backupname" [ $? = 1 ] && return home_backupname="backupname = $REPLY" backupname="$REPLY" # 指定保存备份文件的默认路径 inputBox "$home_title" "Directory where to store the backups" "/var/backups/home" [ $? = 1 ] && return home_backupdir="backupdir = $REPLY" # 指定复选框的默认值 radioBox "$home_title" "Compression" "none" "No compression" off "gzip" "Compress with gzip" on "bzip" "Compress with bzip" off [ $? = 1 ] && return; result="$REPLY" home_compress="compress = $REPLY " REPLY= while [ -z "$REPLY" ]; do formBegin "$home_title: Includes" formItem "Include:" /home/gacanepa formDisplay [ $? = 0 ] || return 1 home_includes="includes = " for i in $REPLY; do [ -n "$i" ] && home_includes="$home_includes $i" done done REPLY= while [ -z "$REPLY" ]; do formBegin "$home_title: Excludes" formItem "Exclude:" *.mp3 formItem "Exclude:" *.mp4 # 按需增加多个“Exclude”文本框指定其他不须包含的内容 formItem "Exclude:" formItem "Exclude:" formDisplay [ $? = 0 ] || return 1 home_excludes="excludes = " for i in $REPLY; do [ -n "$i" ] && home_excludes="$home_excludes $i" done done # 保存配置 get_next_filename $configdirectory/.home cat > $next_filename <<EOF $home_when_run $home_backupname $home_backupdir $home_compress $home_includes $home_excludes # tar 程序的路径,必须为GNU tar TAR `which tar` DATE `which date` DATEFORMAT "%Y-%m-%d" EXTENSION tar EOF # 将配置文件的权限改为 chmod $next_filename }

运行 ninjahelper

在Debian系统中使用backupninja定制备份计划的教程(debian 使用)

当创建了名为home的handler脚本以及对应的home.helper后,运行ninjahelper命令创建一个新的备份操作。

复制代码代码如下:#ninjahelper

选择 create a new backup action(创建一个新的备份操作)。

接下来将看到可选的操作类型,这里选择“backup of home directories"(备份home目录):

然后会显示在helper中设置的默认值(这里只显示了3个)。可以编辑文本框中的值。注意,关于“when”变量的语法,参考文档的日程安排章节。

当完成备份操作的创建后,它会显示在ninjahelper的初始化菜单中:

按回车键显示这个备份操作的选项。因为它非常简单,所以我们可以随便对它进行一些实验。

注意,“run this action now"(立即运行)选项会不顾日程表安排的时间而立即进行备份操作:

备份操作会发生一些错误,debug会提供一些有用的信息以帮助你定位错误并纠正。例如,当备份操作有错误并且没有被纠正,那么当它运行时将会打印出如下所示的错误信息。

上面的图片告诉我们,用于完成备份操作的连接没有建立,因为它所需要链接的远程主机似乎宕机了。另外,在helper文件中指定的目标目录不存在。当纠正这些问题后,重新开始备份操作。

需要牢记的事情:

当你在/usr/share/backupninja 下新建了一个自定义脚本(如foobar)来处理特殊的备份操作时,那么你还需要编写与之对应的helper(foobar.helper)文件,ninjahelper 将通过它生成名为.foobar(下一个操作为,以此类推)的文件,保存在/etc/backup.d目录下,而这个文件才是备份操作的真正的配置文件。 可以通过ninjahelper设定好备份操作的执行时间,或按照“when”变量中设置的频率来执行。

在Ubuntu系统上安装游戏通讯应用Mumble的教程 Mumble是一个自由开源的VoIP应用,在新的BSD许可证下发布,主要面向的用户群体是游戏玩家。运行起来类似于TeamSpeak和Ventrilo,用户通过连接到同一个服

Ubuntu系统中的天气应用Conky的使用教程 智能手机都拥有一些平滑地融入手机外观的天气小插件,现在幸亏有了FlairWeatherConky,你便可以在你的Linux桌面中拥有像智能手机一样的天气外观。我们

Ubuntu系统中用ramlog将日志文件转存至内存中的教程 Ramlog以系统守护进程的形式运行。在系统启动时它创建虚拟磁盘(ramdisk),将/var/log下的文件复制到虚拟磁盘中,同时把虚拟磁盘挂载为/var/log。然后所

标签: debian 使用

本文链接地址:https://www.jiuchutong.com/biancheng/356319.html 转载请保留说明!

上一篇:Ubuntu系统中怎么使用SMPlayer播放器?(ubuntu系统中怎么重启proftpd程序)

下一篇:在Ubuntu系统上安装游戏通讯应用Mumble的教程(ubuntu安装指南)

  • 核定征收个体户个人经营所得税税率
  • 经济补偿影响下份工作吗
  • 国家税务登记证是什么样子的
  • 零售和批发的界定
  • 企业电子发票申请不成功原因
  • 长期股权投资其他综合收益借贷方向
  • 生活服务费发票 经营范围
  • 工业企业生产成本包括哪些
  • 股权转让企业所得税纳税地点
  • 房租有进项发票能抵扣吗
  • 对方承担税点的发票额怎么计算
  • 投资支付的现金增加说明什么
  • 印花税法律制度规定不征收印花税的是什么
  • 财税2018 39号文件
  • 关于增值税报税的通知
  • 直接成本和间接成本差异
  • 无形资产软件摊销年限的最新规定2021
  • 异常抵扣凭证进项税转出入哪个所属期
  • 税务更正申报需要哪些资料
  • 怎么关闭win11安装软件提示
  • win11如何恢复win10
  • Win11 Build 22454.1000 开发者预览版发布(附更新修改已知问题+安装)
  • centos6.5下载
  • PHP:oci_num_rows()的用法_Oracle函数
  • php常用的开发工具
  • 短缺的材料算不算入账价值
  • 买保险公司的养老保险合适吗
  • 数据持久化操作
  • adamax优化器
  • 固定资产盘盈为什么要调整所得税
  • React18的useEffect会执行两次
  • 财务费用属不属于当期损益
  • 企业购买的土地出买后无法收回资金属国有资产流失吗?
  • 电影院是否征收文化建设事业费
  • 销售旧货税率
  • 不动产物权归属和内容的根据是什么?
  • 增值税专用发票电子版
  • mysql 子查询
  • 增值税税款抵扣
  • sql server 2000数据库不能备份的原因
  • 车辆维修费会计分录
  • 运输企业税负率一般控制在多少?
  • 暂估成本发票来了怎么做分录
  • 短期流动负债计算公式
  • 主营业务成本如何设置明细
  • 委托加工应税消费品纳税义务发生时间
  • 公司做的形象墙效果图
  • 支付广告费属于进项还是销项
  • MySQL创建数据库字符集和排序规则
  • 教你怎么使用加油机
  • win2000安装过程
  • 严密防范什么安全风险,严厉打击敌对势力犯罪
  • centos查看wwn
  • win7笔记本电脑怎么重装系统教程
  • ubuntu查看内存占用最多的进程ID
  • 手机苹果操作系统
  • 7款应用最广泛的游戏
  • mac双系统怎么调整磁盘空间
  • fsc文件用什么软件打开
  • 浅谈特殊儿童的融合教育论文
  • android-3
  • cmd更改文件属性
  • 使用灭火器人要站在上风口还是下风口
  • 如何理解vue
  • nodejs model
  • unity编译速度吃什么硬件?
  • unity3d开发之对象池
  • jquery的优点和缺点
  • unity相关问题
  • java script
  • 带领大家学习javascript基础篇(一)之基本概念
  • Javascript字符串长度
  • 安卓音频分析软件
  • 江宁市民之家上班时间?
  • 中央与地方增值税
  • 湖南省国家税务总局官网登录入口
  • 从国外进口设备需要缴纳增值税吗
  • 融资租赁出租会计账务处理流程
  • 什么发票可以抵税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设