crontab定时删除指定的hdfs数据

#!/bin/bash
# filename:deleteHdfsData.sh
# 遍历压缩指定目录下的所有文件,参数指定是否删除原文件(2个参数,1个参数是目录,一个参数是否删除原文件,1删除,0不删除)
# crontab: 30 2 * * * sh /Application/aaa/enterprise/hadoop/deleteHdfsData.sh >> /Application/aaa/enterprise/hadoop/run.log 2>&1
# 遍历得到指定目录下的所有文件,用gz压缩
# createdate: 20150909
# author: yuanlong.zhou
today=`date day +%Y-%m-%d`;
echo "今天是${today}"
# 获得要删除的日期
# 不指定参数时,默认删除30天前以aaa-开头的数据(因为是凌晨删除,所以不含当天)
daynum=5
# 当参数个数大于1时,提示参数错误
if [ $# -gt 1 ] ;then
        echo "要么不传参数,要么只传1个参数!"
        exit 101;
fi
# 当参数个数为1时,获取指定的参数
if [ $# == 1 ] ;then
        daynum=$1
fi
hdfsday=`date -d ‘-‘"${daynum}"‘ day‘ +%Y%m%d`;
echo "${daynum}天前是${hdfsday}"
curl -XDELETE http://localhost:9200/aaa-*-${hdfsday}
hdfs dfs -rm -r /hnbc/${hdfsday}
echo "${today}执行完成"
时间: 2024-10-10 20:02:34

crontab定时删除指定的hdfs数据的相关文章

MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)

MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据) 分类: MySql5.x2014-06-23 15:16 1266人阅读 评论(0) 收藏 举报 mysql数据库 [sql] view plaincopy <span style="font-family: 'Microsoft YaHei'; font-size: 14px;">MySQL定时任务event</span> 由于一些业务需求,我们可能需要定时清除数据库一些废弃的数据

Shell定时删除指定时间之前的文件

模板cat delbak.sh #!/bin/sh location="/root/sqlbak/" find $location -mtime +30 -type f |xargs rm -f ps: location 是设置查找的目录--mtime +30 是设置时间为30天前-type f 这周查找的类型为文件 然后加入crontab定时来删除: crontab -l 10 4 1 * * /bin/sh /root/soft_shell/delbak.sh 设定为每个月1号晚上

Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)

Elasticseach目前作为查询搜索平台,的确非常实用方便.我们今天在这里要讨论的是如何做数据备份和type删除.我的ES的版本是2.4.1. ES的备份,可不像MySQL的mysqldump这么方便,需要一个插件进行数据的导出和导入进行备份和恢复操作.这里要说的插件是elasticdump. elasticdump的安装: [[email protected] ~]# yum install elasticdump 已加载插件:fastestmirror, product-id, subs

Windows 定时删除指定路径下N天前的日志文件

Windows 下bat脚本文件的内容为 1. 删除指定路径下5天前的所有文件 . @echo off set SrcDir=E:\WORK\Git set DaysAgo=5 forfiles /p %SrcDir% /s /m *.*/d -%DaysAgo% /c "cmd /c del /f /q /a @path" 2.删除指定路径下5天前的所有log文件 @echo off set SrcDir=E:\WORK\Git //指定的路径 :5天前 set DaysAgo=5 

【应用】:shell crontab定时生成oracle表的数据到txt文件,并上传到ftp

一.本人环境描述      1.oracle服务端装在win7 32位上,oracle版本为10.2.0.1.0      2.Linux为centos6.5 32位,安装在Oracle VM VirtualBox虚拟机上      3.win7上装有ftp服务 二.功能实现描述      用shell的crontab命令定时执行某个.sh文件,此文件的功能已实现生成oracle表的数据到本地txt文件,并上传到ftp,必要时可记录执行日志. 三.步骤      1.在centos中安装orac

Linux下定时删除指定目下n天前的文件

* 6 * * * find /root/home/zhang/* ctime 1 -exec rm -rf {} \; 表示每天早上六点删除/root/home/zhang目录下一天前创建的所有文件,不删除文件夹zhang,如果这个文件夹也要删除的话用 * 6 * * * find /root/home/zhang ctime 1 -exec rm -rf {} \; * 6 * * * 第一个*号表示时间中的 分钟 取值范围:0-59 第二个*号表示时间中的 小时 取值范围:0-23 第三个

hadoop 之hdfs数据块修复方法

hadoop 之hdfs数据块修复方法: 1.手动修复 hdfs fsck / #检查集群的健康状态 hdfs debug recoverLease -path 文件位置 -retries 重试次数 #修复指定的hdfs数据块.也就是关闭打开的文件. 检查坏块: hadoop fsck /user -files -blocks -locations 检查是否有数据块正在写入: hadoop fsck /user openforwrite 原文地址:https://www.cnblogs.com/

Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录(转)

文章转自:http://www.osyunwei.com/archives/8998.html 说明: 操作系统:CentOS Mongodb安装目录:/usr/local/mongodb Mongodb数据库存放目录:/home/data/mongodb/mongodb_data Mongodb日志存放目录:/home/data/mongodb/mongodb_log 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令

MySQL 定时删除数据

存储过程: 1. MySQL 5.0 以后开始支持存储过程. 2. 我们常用的SQL语句在执行的时候需要先编译,然后执行,而存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中(因而执行速度比较快),用户通过制定存错过程的名字并给定参数来调用执行它. Event事件: 1. MySQL 5.1以后开始引入event概念: 2. event 即"时间触发器",通过在特定时间触发SQL语句或者存储过程执行. MySQL 定时删除数据实现方法:mysql存储过程 + even