使用Shell脚本在Linux中备份目录


在Linux中备份数据有多种选择。您可以使用一些免费提供的软件程序,例如fwbackupsSbackup 。但是,有一种简单的方法可以在不安装任何额外软件的情况下备份目录。

我们将使用变量创建一个shell脚本,tar命令和日期命令用于创建目录及其子目录的过时备份文件。

shell脚本本质上是一个包含按顺序运行的命令列表的文件。如果您经常按顺序运行一系列命令,则创建包含这些命令的shell脚本会很有帮助。然后,您只需运行脚本文件即可运行命令。

创建Shell脚本文件

对于此示例,我们将创建一个shell脚本来备份目录包含用户指南的文件。我们正在Ubuntu中使用Gnome环境。

首先,通过从中选择主文件夹来访问您的主目录地点菜单。 文件浏览器将打开您的主目录。

Opening the home folder

我们将创建一个新的空文件,我们在其中将输入执行备份的命令。在右侧窗格中单击鼠标右键,然后选择创建文档|弹出菜单中的空文件

Creating an empty shell script file

文件已添加到列表中,可以重命名。输入文件的名称,为文件提供.sh的扩展名。

New file ready to be renamed

对于此示例,我们将文件命名为user_guide_backups.sh

Shell script file renamed

现在我们需要将命令添加到文件中。右键单击文件名,然后从弹出菜单中选择使用gedit打开

Opening shell script file with gedit

该文件在gedit中打开。在文件中输入以下行,然后点击保存。每行的目的如下所示。

注意:您还可以复制以下文本并将其粘贴到gedit中。请务必将<用户名>更改为您的用户名。

#!/bin/bash
SRCDIR="/home/<username>/Documents/my_work/" DESTDIR="/home/<username>/Backups/" FILENAME=ug-$(date +%-Y%-m%-d)-$(date +%-T).tgz tar --create --gzip --file=$DESTDIR$FILENAME $SRCDIR

Editing shell script file in gedit

行-by-Line Description

下表描述了shell脚本文件中每一行的内容。

线# 说明 1 此行必须是bash shell脚本中的第一行,这是脚本的默认类型。 2 此行设置一个名为SRCDIR的变量,并将其值设置为要备份的目录。
注意:请务必使用用户名替换&lt;用户名&gt;。 3 此行设置一个名为DESTDIR的变量,并将其值设置为将写入备份文件的目录。
注意:请务必使用用户名替换&lt;用户名&gt;。 4 此行设置一个名为FILENAME的变量,并使用包含文本和变量的值设置值date命令将当前日期和时间添加到文件名。例如,文件名可能是ug-20100212-13:03:45.tgz
注意:使用变量时,请始终使用美元符号启动(的$强>)。如果使用命令作为变量的一部分,请将命令和命令的选项括在括号中。 5 此行是tar命令,添加了以下函数和选项。
- create 此函数创建一个新的存档(如果指定的文件名已经存在,则截断旧的存档)并将命名的文件或目录写入其中。 -gzip 此选项告诉tar使用gzip实用程序压缩存档中的文件。 - file 此选项为tar提供要使用的文件名。在这种情况下,我们使用DESTDIRFILENAMESRCDIR变量汇总了文件名。

编辑Shell脚本文件的权限

在运行脚本之前,您需要确保文件具有正确的权限。为此,请再次打开主文件夹,如上所述,然后右键单击shell脚本文件。从弹出菜单中选择属性

Getting the properties of the shell script file

属性对话框显示。确保选中执行复选框。

Shell script file permissions

单击关闭

运行Shell脚本

要运行shell脚本,请选择附件|打开终端窗口。来自应用程序菜单的终端

Opening a Terminal window

终端窗口时打开,默认情况下,您应该在主文件夹中。在命令行上键入pwd并按Enter确认此事实。在提示符下,键入./ user_guide_backups.sh,然后按Enter

Running the shell script

您应该在主文件夹的“备份”文件夹中包含.tgz文件。如果右键单击文件名,您会看到几个选项,用于在其中一个可用的归档程序中打开归档,或使用提取这里>>>>直接将文件解压缩到备份文件夹强>命令。

Pop-up menu options for .tgz file

更多信息

以下链接提供了有关shell脚本的更多信息,tardate命令和其他Linux命令。

脚本

使用bash shell编写脚本的快速指南

Bash Shell Scripting - 10秒指南|关于Linux

Bash参考手册

Linux命令

tar MAN Page

约会MAN

bash命令 - Linux MAN页面

探索这些页面将帮助您构建自己有用的bash shell脚本。

Linux系统常用命令 [LinuxCast视频教程]

相关文章:


16.02.2010