数据库备份脚本
有时,您只是希望能够一次又一次地创建相同类型的打包文件包。 就像用于备份部分数据一样。 您并非总是可以轻松地在计算机上运行一些客户端,该客户端会不断将您的内容备份到OneDrive,GoogleDrive,Dropbox或其他任何东西上。
只需手动将所有内容压缩在一起就没有乐趣了,甚至更多,因此,如果您有大量数据,但其中只有一小部分确实经常更改。
伙计们,我为您提供一个非常简单的解决方案! 好老蚂蚁来营救! 它是Java领域中广为人知的构建工具,尽管Maven无疑在当今已经得到了广泛传播。
我还是喜欢。 这就是您所需要的:
- Java运行时-不管是JDK还是JRE,它都可以位于文件系统中的任何位置。 无需“安装”,只需执行二进制转储并解压缩任何所需的位置即可。 无需触摸Windows注册表等,因此跳过安装程序工具。
- 同样,获得ANT分布。 将其解压缩到文件系统中的任何位置。
就是这样,您可以运行我将在本文中向您展示的脚本,这很好。
首先,您将需要一个简单的批处理文件来启动ANT。
在Windows上,这可能是start.cmd文件(仅是带有.cmd后缀的文本文件)的内容:
@echo off
set JAVA_HOME=C:\mystuff\admin\jre
set ANT_HOME=C:\mystuff\admin\apache-ant-1.8.2-bin
%ANT_HOME%\bin\ant.bat -f compile.docs.xml -Dencoding="UTF-8" -logfile compile.files.log -v
第一个变量指向Java运行时以及ANT发行版。
compile.docs.xml是ANT将处理的构建脚本。 在这种情况下,我会将所有输出通过管道传输到日志文件中。 -v表示冗长,因此您将在每一步完成所有工作。
compile.docs.xml可能如下所示:
<?xml version="1.0" encoding="UTF-8" ?>
<project name="etc pp" default="copy.over" basedir=".">
<property name="target.dir" value="S:"/>
<property name="src.dir" value="C:\whatever"/>
<property name="src.dir2" value="C:\anotherfolder"/>
<property name="src.dir3" value="C:\andanotherfolder"/>
<property name="archive_name" value="bkp.zip"/>
<target name="copy.over">
<tstamp>
<format property="logtime" pattern="d-MMMM-yyyy" locale="de"/>
</tstamp>
<echo message="Time now: ${logtime}" />
<delete file="${target.dir}/${logtime}/${archive_name}" failonerror="false" />
<!-- for the includes: *.* will only take files, /** will take files AND sub directories, so take a pick there -->
<zip destfile="${target.dir}/${logtime}/${archive_name}" encoding="UTF-8" keepcompression="true" >
<zipfileset dir="${src.dir}">
<include name="**/**"/>
<exclude name="**/*.rar"/>
<exclude name="**/*.zip"/>
</fileset>
<zipfileset dir="${src.dir2}" prefix="personal">
<exclude name="**/*.pdf"/>
</fileset>
<zipfileset dir="${src.dir3}" prefix="learning">
<exclude name="**/*.bat"/>
</fileset>
</zip>
</target>
</project>
该脚本会将磁盘上不同文件夹中的文件内容打包为一个ZIP文件,该文件位于您想要的任何位置。 本示例假定已映射驱动器S :,但没有关系。 $ {}是变量,脚本将开始处理copy.over(唯一)目标。
ANT任务用途广泛,您可以编写自己的任务。 我曾经写过一些自写的任务,这些任务将创建一个大的ZIP文件,对其进行加密,将其拆分为多个块,然后将文件上传到Dropbox。
这些任务将与您在上面的xml中看到的任务非常相似。 我会说很简单。 对于自动完成繁琐的任务来说,这并不是太简单。
谈论任务。 已经有很多任务扩展, ANT-CONTRIB是众所周知的并且很方便。
是的,ANT很老套,但要求很少,可以在每个操作系统上运行,即使脚本从一个操作系统到下一个操作系统,也几乎不需要任何更改。 希望这对某人有帮助!
翻译自: https://dev.to/mrbrue/wrap-up-you-data-backups-in-a-neat-ant-script-1p19
数据库备份脚本