$是ant中需要转义的,使用$$代替$,不能使用\$,在linux控制台下,输入命令时用的是\$.
三种通配符:
**,*,?
?用于匹配1个字符
*,匹配任意字符,0个或者多个,常用于匹配文件类型,或者URL
**,任意目录或者文件,包含任意多个子目录
以ant中copy的用法为例:
<copy todir="${src.dir}" verbose="false" preservelastmodified="true" >
<fileset dir="${home.dir}">
<exclude name="**/build?/**"/>
<exclude name="**/workspace/**"/>
<exclude name="**/*.java"/>
<exclude name="**/log.*"/>
</fileset>
</copy>
其中 <exclude name="**/build?/**"/>表示不包含build?目录,如果build1,build2等
<exclude name="**/*.java"/>,表示不包含所有java类型的文件
<exclude name="**/log.*"/>,表示不包含所有文件名为log,文件扩展名任意的文件
verbose="false" :不显示copy的详细信息,比如哪个文件被copy了;但如果出错,或显示copy出错信息。
preservelastmodified="true" :保留修改时间,这样就容易看出哪些是新文件。
ant中的copy 还可以指定编码。
<target name="copydb" description="backup db">
<tstamp/>
<mkdir dir="${db.bak.dir}"/>
<sshexec host="${db.host}"
username="${user}"
password="${password}"
command="mysqldump -uuser -ppassword -h192.168.1.2 -B t_work |gzip >${db.bak.dir}/${DSTAMP}${TSTAMP}t_work.sql.gz" trust="t
rue"/>
</target>
上述命令可实现 ssh登录,并远程执行数据库备份命令,
其中<tstamp/> ,会生产2个属性,后面用到的${DSTAMP}和${TSTAMP},表示日期和时间,用于生产唯一id,使得文件不重复
mysqldump -uuser -ppassword -h192.168.1.2 -B t_work |gzip >${db.bak.dir}/${DSTAMP}${TSTAMP}t_work.sql.gz" trust="true"
前半部分是一个 数据库备份命令,后半部分是通过管道使用gzip压缩,trust=”true"这个很有必要,表示2台机器互信,否者通常会失败。许多人不知道mysql可以很好的管道支持。如果需要从192.168.1.2上将t_work数据库导入192.168.1.3上,可以如下命令替换:
mysqldump -uuser -ppassword -h192.168.1.2 -B t_work |mysql -uuser -ppassword -h192.168.1.3
在实现用ant脚本进行2台机器的远程登录执行命令前,需要使用RSA认证。可搜索“Linux ssh 不输入密码”
其实scp也是一样的。使用了该密钥认证后,ssh,scp均不需要输入密码。
Linux SSH 互信 不需要输入密码具体操作
这一段不知道从哪摘下来的 写道
Linux scp复制文件,不需要输入密码的技巧
一,在linux100主机里的用户
运行
#ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/.username/ssh/id_rsa):#回车
Enter passphrase (empty for no passphrase):#回车
Enter same passphrase again:#回车
会在用户目录~/.ssh/产生两个文件,id_rsa,id_rsa.pub
二,把linux100主机上的id_rsa.pub文件拷贝到linux200主机的root用户主目录下的.ssh目录下,并且改名为authorized_keys
这样在linux100主机上使用scp命令复制文件到linux200上将不提示输入密码了,直接复制了。
写道
在上面一步改名authorized_keys,有可能以及存在了,因此可以改成追加:
cat id_rsa.pub >>~/.ssh/authorized_keys
然后测试下:
[root@locahost]# ssh 10.2.50.26
显示如下结果:
Last login: Wed Dec 12 13:40:39 2012 from 10.2.144.59
表明ssh不输入密码已经可以正常工作了
基于上述的几个步骤,就可以实现ant脚本,远程登录并执行简单mysql复制和备份以及文件的复制备份功能。
分享到:
相关推荐
本主题将深入探讨如何使用Ant来发布Web项目以及进行数据库操作。 一、Ant的基本概念与配置 1. Ant是基于XML的,它的主要配置文件是`build.xml`,其中定义了一系列的构建任务(tasks)。 2. Ant的核心组件包括项目...
为了实现增量备份,ANT可能使用了类似于`<uptodate>`的任务来检查源文件和目标文件的时间戳,只有在源文件更新后才进行备份。此外,也可以结合使用版本控制系统如Git,以更智能的方式进行增量备份。 总结来说,这个...
标题中的“DBMonster In Action 使用Ant自动产生数据库随机测试数据”揭示了这是一个关于数据库测试的实践教程,其中涉及到了DBMonster工具和Ant自动化构建工具。DBMonster通常用于生成大量模拟真实世界的数据库记录...
在Linux环境下使用Ant,开发者可以充分利用Linux的稳定性和命令行效率。 Apache Ant的核心概念是“任务”(tasks),这些任务是可执行的操作,如编译源代码、创建JAR文件、运行单元测试等。Ant通过JAR文件提供这些...
这些框架都有丰富的组件库,例如在React中,可以使用Ant Design等库的Select组件,结合Ajax异步请求,实现动态加载和更新联动效果。 在压缩包文件中,“省市区地址信息”可能包含了这三个表格的初始数据,用于填充...
本项目"**Eclipse连接Mysql数据库学生信息管理系统**"是一个典型的Java后端应用,利用Eclipse进行开发,并通过JDBC(Java Database Connectivity)接口与MySQL数据库进行交互,实现对学生的个人信息进行增删改查等...
在Linux环境中进行Java开发,有一些基础的工具是必不可少的,如Java开发工具包(JDK)、应用服务器(如Tomcat)、数据库(如MySQL)以及构建工具(如Ant)。本资源包提供了一站式的解决方案,包含了这些核心组件的...
总之,Apache Ant 1.9.15是在Linux环境下进行Java项目构建的重要工具,它的灵活性和强大的XML驱动的任务定义使得它能够适应各种复杂的构建需求。解压并配置好Ant后,开发人员可以轻松地进行编译、测试和部署工作。
4. Ant的任务和目标:学习如何编写和使用Ant预定义的任务,如(编译Java源代码)、(创建jar文件)、(复制文件或目录)、(执行外部程序)等。目标是Ant中任务执行的最小单位,一个构建文件可以包含多个目标,目标...
在Linux系统中,尤其是CentOS7环境下,搭建JDK与ANT环境是一个重要的基础步骤,主要用于支持自动化构建工具Jenkins发布数据库脚本的需求。由于Jenkins默认使用Java作为运行环境,并且许多构建脚本都依赖于ANT来执行...
在这个“ant_向数据库插入数据示例文件”中,我们将深入探讨如何使用Ant来执行SQL脚本,从而向SQL Server数据库中插入数据。 首先,我们需要理解Ant脚本的基本结构。一个典型的Ant构建文件(build.xml)包含多个...
JBPM4.4 mysql数据库创建脚本,修正ant create.jbpm.schema不能创建数据库的bug。
它涵盖了五个重要的技术领域:Hibernate作为对象关系映射框架,Spring作为全面的轻量级框架,JUnit用于单元测试,Ant作为构建工具,以及MySQL作为关系型数据库。这个组合通常用于构建一个完整的、基于Java的企业级...
"Ant ant ant antant ant ant antant ant ant ant" 这个描述可能是在强调Ant在项目构建过程中的重复性和不可或缺性,暗示着它在工程中的频繁使用和核心地位。 Ant的设计理念是“一切都是XML”,它通过XML格式的构建...
5. **解压与安装**:在Linux环境下,用户需要使用`tar`命令解压缩文件,如`tar -zxvf apache-ant-1.10.8-bin.tar.gz`。解压后,可以将Ant的bin目录添加到PATH环境变量中,以便在任何目录下都可以运行`ant`命令。 6....
Java数据库驱动程序,尤其是MySQL的连接器,是Java应用程序与MySQL数据库进行通信的关键组件。"mysql-connector-java-5.1.zip"是一个包含MySQL JDBC驱动的压缩包,版本为5.1.46,适用于Java开发环境。这个驱动程序...
通过以上步骤,你可以在 Linux 环境中成功安装和配置 Ant,编写构建脚本,并管理构建过程。Ant 提供了一个灵活且强大的框架,允许开发者通过 XML 描述构建过程,极大地提高了项目构建的自动化程度和可维护性。在实际...
通过这个课程设计,学生可以学习到如何使用Java进行GUI编程,如何设计数据库模式,以及如何使用JDBC API连接和操作数据库。此外,他们还能了解到软件开发的基本流程,包括需求分析、设计、编码、测试和部署。这是一...