• linux下定时清理flink数据


    #!/bin/sh
    use=`df|grep "/dev/vdb1"|awk '{print $5}'| sed 's/%//g'`
    if [[ $use -gt 80 ]];then
            hdfs dfs -rm -r -skipTrash /user/admin/.flink
    fi;

    先编写好shell脚本,如果使用超过百分之80,则执行清理

    然后设置定时任务

    1.安装crontab
    命令:yum install cixie-cron
    yum install crontabs
    
    2.开启crontab服务
    service crond start //启动服务
    service crond stop //关闭服务
    service crond restart //重启服务
    查看crontab服务状态:service crond status
    3.设置脚本
    命令行输入:crontab -e 进入后编写想要执行的脚本
    */1 * * * * /opt/clear.sh 每一分钟执行一次
    */5 * * * * /opt/clear.sh 每五分钟执行一次
    0 */1 * * * /opt/clear.sh 每小时执行一次
    30 1 * * * /opt/clear.sh 每天1:30执行一次
    0 23-7/28 * * * 晚上11点到早上8点之间每两个小时和早上八点 0 11 4 * 1-3 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 22 4 * * 0 每星期(周日凌晨4:22)执行 42 4 1 * * 每月(1号凌晨4:42)去执行

    设置完后进行保存重新载入配置启动即可

    补充:

    用以下的方法启动、关闭这个cron服务: 
    service crond start //启动服务 
    service crond stop //关闭服务 
    service crond restart //重启服务 
    service crond reload //重新载入配置

    查看crontab服务状态:service crond status 
    手动启动crontab服务:service crond start 

    查看crontab服务是否已设置为开机启动,执行命令:ntsysv 
    加入开机自动启动: 
    chkconfig –level 35 crond on

    也可以用设置开机自动启动crond服务: 
    [root@CentOS ~]# chkconfig crond on 

    查看各个开机级别的crond服务运行情况 
    [root@CentOS ~]# chkconfig –list crond 
    crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 
    可以看到2、3、4、5级别开机会自动启动crond服务 
    取消开机自动启动crond服务: 
    [root@CentOS ~]# chkconfig crond off

    设置需要执行的脚本 

    新增调度任务可用两种方法: 
    1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。 
    2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。 
    crontab -e配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务 
    查看调度任务 
    crontab -l //列出当前的所有调度任务 
    crontab -l -u jp //列出用户jp的所有调度任务 
    删除任务调度工作 
    crontab -r //删除所有任务调度工作 
    直接编辑 vim /etc/crontab ,默认的文件形式如下:

     

    前四行是有关设置cron任务运行的环境变量。

    SHELL变量的值指定系统使用的SHELL环境(该样例为bash shell),

    PATH变量定义了执行命令的路径。Cron的输出以电子邮件的形式发给MAILTO变量定义的用户名。

    如果MAILTO变量定义为空字符串(MAILTO=""),电子邮件不会被发送。执行命令或脚本时HOME变量可用来设置基目录。

    文件/etc/crontab中每行任务的描述格式如下: 

     minute hour day month dayofweek command

     minute - 从0到59的整数

     hour - 从0到23的整数

     day - 从1到31的整数 (必须是指定月份的有效日期)

    month - 从1到12的整数 (或如Jan或Feb简写的月份)

    dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)

    command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令) 

     root表示以root用户身份来运行

    run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本

    对于以上各语句,星号(*)表示所有可用的值。例如*在指代month时表示每月执行(需要符合其他限制条件)该命令。

     整数间的连字号(-)表示整数列,例如1-4意思是整数1,2,3,4

    指定数值由逗号分开。如:3,4,6,8表示这四个指定整数。

    符号“/”指定步进设置。“/<interger>”表示步进值。如0-59/2定义每两分钟执行一次。步进值也可用星号表示。如*/3用来运行每三个月份运行指定任务。 

    以“#”开头的为注释行,不会被执行。

  • 相关阅读:
    java学习笔记07-循环
    java学习笔记06-条件语句
    java学习笔记05-运算符
    java学习笔记04-基本数据类型
    java学习笔记03-基本语法
    java学习笔记02-Eclipse IDE配置
    java学习笔记01-环境配置
    Jmeter学习笔记03-元件作用域及执行顺序
    JMeter学习笔记02-基础介绍
    [luogu3369/bzoj3224]普通平衡树(splay模板、平衡树初探)
  • 原文地址:https://www.cnblogs.com/hkgov/p/13926950.html
Copyright © 2020-2023  润新知