当前位置:首页 > CN2资讯 > 正文内容

使用shell脚本分批次下载hive数据

3天前CN2资讯


一、工具的使用

工具:FTP客户端-IIS7服务器管理工具

简介:作为FTP客户端,它支持批量管理ftp站点

具体功能:

  • 定时上传和定时下载,定时备份,且操作简洁
  • iis7服务器管理工具还是vnc客户端
  • 支持批量管理管理windows及linux服务器、vps

让服务器真正实现了一站式管理,真的是非常方便。

官网地址:http://fwqglgj.iis7.net/cp/ftp/?cmc-zc 使用截图如下:

 

二、脚本实现

1. 脚本实例

  将以下脚本保存为 

#!/bin/bash datesign=`date -d -95day +%Y%m%d` ftp -nv 12.2.2.28 <<!FTPRUN user user01 user01 prompt bin cd TXT lcd /app/info/getftp mget ${datesign}*.txt bye !FTPRUN

 

脚本说明: 

#!/bin/bash 

#表明该文本的内容为SHELL命令 datesign=`date -d -95day +%Y%m%d` 

#声明变量datesign,用来记录需要获取文件名中的日期标签。 #-95day 表示距系统时间的天数,假如今天是20121123, #-2day就表示20121121。 

#%Y表示年,如2012,%y也表示年,但是格式为12 #%m表示月,如11 #%d表示日,如23 

#同样,%H,%M,%S分明表示时分秒, 

#以系统时间为2012年11月23日10时55分44秒为例 

#`date –d -2day +%Y-%m-%d %H:%M:%S` 的值为:20121121 10:55:44 ftp -nv 12.2.2.28 <<!FTPRUN 

#登录FTP服务器,12.2.2.28表示FTP服务器的IP地址 

#从!FTPRUN至代码结束的!FTPRUN是FTP命令。 #!FTPRUN是自己随意给的标示名 user user01 user01 

#给出FTP的用户名和密码。此处用户名和密码都是:user01 Prompt 

#该命令忽略FTP交互 Bin 

#二进制格式传送 cd TXT 

#TXT表示数据文件在FTP服务器上的目录。 lcd /app/info/getftp 

# /app/info/getftp数据文件要下载到服务器的目录 mget ${datesign}*.txt 

#需要下载的文件,${datesign}为前面声明的变量,*表示通配符 Bye 

#FTP完成退出 !FTPRUN 

 


2. 执行脚本使其定时调用

  SHELL文件在执行时,可能会因存在特殊字符而出现问题。需要将  文件转换一下格式。 可以直接在Linux下执行(假如不能运行则可以赋予它执行的权限后在运行chmod +x ./):

DOS2UNIX /app/info/getftp/

  /app/info/getftp为  脚本所在目录。 

  通过vi编辑器根据实际环境对脚本进行相应更改,即可进行测试。 3. 自动执行配置 在Linux下执行: 

Crontab –e * 5 * * * /app/info/getftp/

  保存退出。代码就会在每天5:00自动运行。  

 


附:cron调度进程说明 

  cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。有一个叫做crontab的命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。可以使用它运行任意一个shell脚本或某个命令,每小时运行一次,或一周三次,这完全取决于你。每一个用户都可以有自己的crontab文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。系统管理员是通过cron.deny和cron.allow这两个文件来禁止或允许用户拥有自己的crontab文件。  

crontab的域  

为了能够在特定的时间运行作业,需要了解crontab文件每个条目中各个域的意义和格式。  

下面就是这些域:  第1列分钟1~5 9  

第2列小时1~2 3(0表示子夜)  第3列日1~3 1  第4列月1~1 2  

第5列星期0~6(0表示星期天)  第6列要运行的命令  crontab的范例格式:  

下面是c r o n t a b的格式:  

分[]时[]日[]月[]星期[]要运行的命令 其中[]表示空格。  

crontab文件的一个条目是从左边读起的,第一列是分,最后一列是要运行的命令,它位于星期的后面。在这些域中,可以用横杠-来表示一个时间范围,例如你希望星期一至星期五运行某个作业,那么可以在星期域使用1 - 5来表示。还可以在这些域中使用逗号“,”,例如你希望星期一和星期四运行某个作业,只需要使用1 , 4来表示。可以用星号*来表示连续的时间段。如果你对某个表示时间的域没有特别的限定,也应该在该域填入*。该文件的每一个条目必须含有5个时间域,而且每个域之间要用空格分隔。该文件中所有的注释行要在行首用#来表示。 crontab条目举例 

30 21* * * /apps/bin/cleanup.sh 

上面的例子表示每晚的21:30运行/apps/bin目录下的cleanup.sh。 45 4 1,10,22 * * /apps/bin/backup.sh 

上面的例子表示每月1、1 0、2 2日的4:45运行/apps/bin目录下的backup.sh。 10 1 * * 6,0 /bin/find -name "core" -exec rm {}  上面的例子表示每周六、周日的1:10运行一个find命令。 0,30 18-23 * * * /apps/bin/ 

上面的例子表示在每天18:00至23:00之间每隔30分钟运行/apps/bin/目录下的。 

0 23 * * 6 /apps/bin/ 

上面的例子表示每星期六的11:00pm运行/apps/bin目录下的。 


  致谢:感谢您的耐心阅读!

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/19957.html

    分享给朋友:

    “使用shell脚本分批次下载hive数据” 的相关文章

    JustHost优惠码大揭秘:节省开支的绝佳办法

    JustHost概述 我对JustHost的了解始于它的多样化主机产品和用户友好的服务。JustHost成立于2006年,作为一家俄罗斯主机商,它提供虚拟主机、VPS服务器以及独立服务器,是一个值得关注的选择。JustHost不仅拥有丰富的技术背景,还致力于为用户提供高性价比的服务,这让我对它充满了...

    全面解析CPU租用服务:灵活性与高效性的最佳选择

    CPU租用服务概述 在当今快速发展的科技环境中,CPU租用服务作为一种创新的计算资源提供模式,正在受到越来越多用户的关注。这种服务使得用户可以根据具体需求,灵活地租用不同配置的CPU资源,从而有效地降低了硬件采购成本。 CPU租用服务的意义不仅在于提供强劲的计算能力,更在于它的灵活性。用户不再需要一...

    如何选择与配置VPS服务器并确保其安全性与性能优化

    VPS服务器概述 当我们提到VPS(虚拟专用服务器)时,简直是开启了一个全新的技术世界。它把一台物理服务器分割成多个独立的虚拟环境,每个VPS都有自己的操作系统和资源分配。这种方式给用户带来了更多的灵活性和控制权,也意味着即使在较低的成本下,我们也能拥有自己专属的服务器。 VPS的魅力在于其独立性。...

    华纳云:全球领先的云计算与数据中心服务提供商

    华纳云概述 在当今数字化高速发展的时代,云计算和数据中心服务显得尤为重要。华纳云,作为一家专业的全球数据中心基础服务提供商,总部位于香港,依托于香港联合通讯国际有限公司的实力,稳步发展。华纳云不仅是APNIC和ARIN的会员单位,更拥有自有的ASN号,这为其全球运营提供了强有力的支持。通过这些背景,...

    搬瓦工VPS与CN2线路解析:提升网络稳定性与性价比

    搬瓦工(BandwagonHost)是一家值得关注的国外VPS主机服务商,因其性价比高、性能优异而在用户中口耳相传。最初我对搬瓦工的了解并不多,但随着对VPS服务需求的增加,自然也对市场上比较有名的服务商产生了浓厚的兴趣。在我研究的过程中,搬瓦工的特点确实吸引了我的眼球,尤其适合需要稳定网络和较高性...

    如何使用restorecon命令恢复Linux系统文件的安全上下文

    在学习Linux或进行系统管理时,可能会听到“restorecon”这个词。简单来说,restorecon是一个用于恢复文件和目录的安全上下文的命令。它的核心作用在于确保系统文件符合安全政策,帮助保持系统的安全性。想象一下,当我们对系统文件进行更改或更新时,这些文件的安全设置可能会被意外改变,这时r...