精华内容
参与话题
问答
  • 需要定期的删除,又不想写java的定时器,然后尝试着使用shell脚本进行处理该业务。 二、业务实现: 1、在服务器创建目录shell 2、创建脚本文件excute_mysql.sh #!/bin/bash # Define log TIMESTAMP=`date +%Y%m...

    一、业务场景

    数据库中产生的一些无效的或者废弃的数据。需要定期的删除,又不想写java的定时器,然后尝试着使用shell脚本进行处理该业务。

    二、业务实现:

    1、在服务器创建目录shell

    2、创建脚本文件excute_mysql.sh

    #!/bin/bash
    # Define log 
    TIMESTAMP=`date +%Y%m%d%H%M%S` #日期
    LOG=execute_sql_${TIMESTAMP}.log  #日志名称
    echo "Start execute sql statement at `date`." >>${LOG}
    # execute sql start 
    HOSTNAME="127.0.0.1"     #数据库信息
    PORT="3306"                 #端口号
    USERNAME="root"             #数据库账户
    PASSWORD="root"             #数据库密码
    DBNAME="ceshi_data"  #数据库名称
    TABLENAME1="u_order"        #数据库中表的名称
    TABLENAME2="u_order_item" #数据库中表的名称
    #执行的sql语句
    delete_sql="DELETE o,d
    FROM ${TABLENAME1}  o
    LEFT JOIN ${TABLENAME2}  d ON d.order_id = o.id
    WHERE 1=1
    AND o.state = 0
    AND DATE(o.expire_date) < DATE(NOW())"
    
    mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${delete_sql}"
    
    

     

     

    3、授权脚本文件

    chmod +x excute_mysql.sh

    4、创建定时任务

    crontab -e

    5、每隔20分钟执行一次

     */20 * * * *  /home/pan/java/shell/excute_mysql.sh

     

    6、重启crond进程

    service crond restart

     

    7、查看crond进程状态

    service crond status

     

    8、查看crond任务

    crontab -l

     

     

     

    展开全文
  • 使用shell脚本来定期删除文件夹内的任务 定时每天早上02:00执行 1.创建shell文件 [root@iZm5e70jmgw5y8jp117k66Z shell]# vim backup_book_img_clean.sh #!/bin/sh find /mnt/data/images/wxCodes -name "*....

    使用shell脚本来定期删除文件夹内的任务

    定时每天早上02:00执行

     

    1.创建shell文件

    [root@iZm5e70jmgw5y8jp117k66Z shell]# vim backup_book_img_clean.sh
    #!/bin/sh
    
    find /mnt/data/images/wxCodes -name "*.png"  -mtime +1 -exec rm -rf {} \; > /dev/null 2>&1

    亲测管用


     

    参数说明:

    /mnt/data/images/wxCodes  #这个是文件的路径path

    -mtime +2 #这个是保留的天数,2就是2天

    -name "*.png"  #这个是要删除文件的名称,这边加后缀就是删除这个类型的文件

    其他的是Linux的命令

     /dev/null 2>&1    将标准输出和标准错误输出重定向到伪设备/dev/null,它的作用就是执行某个命令将不会有任何日志输出。

    2、设置shell文件权限

    [root@iZm5e70jmgw5y8jp117k66Z shell]# chmod 777 wx_codes_clean.sh


    或者

    [root@iZm5e70jmgw5y8jp117k66Z shell]# chmod  wx_codes_clean.sh

     

    3、设置crontab周期执行

    crontab命令用于设置周期性被执行的指令

    crontab相关命令说明:https://www.jb51.net/article/151069.htm

    [root@iZm5e70jmgw5y8jp117k66Z shell]# crontab -e


    前5个字段分别表示:
           分钟:0-59
           小时:1-23
           日期:1-31
           月份:1-12
           星期:0-6(0表示周日)
           *: 表示任何时刻
           ,: 表示分割
          -:表示一个时间段
           /n : 表示每个n的单位执行一次。例如第二段中,*/1, 就表示每隔1个小时执行一次命令。

    4、启动crond进程

    crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。

    该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。而crond正是它的守护进程。

     

    在主界面输入“/bin/systemctl start crond.service”。至此全部配置完成。

    说明:

    启动定时任务:/bin/systemctl start crond.service
    停止定时任务:/bin/systemctl stop crond.service
    重启定时任务:/bin/systemctl restart crond.service
    查看定时任务状态:/bin/systemctl status crond.service

    或者:输入命令

    [root@iZm5e70jmgw5y8jp117k66Z shell]# systemctl status crond.service
    [root@iZm5e70jmgw5y8jp117k66Z shell]# systemctl start crond.service

    [root@iZm5e70jmgw5y8jp117k66Z shell]# systemctl restart crond.service

    [root@iZm5e70jmgw5y8jp117k66Z shell]# service crond restart

     

    5.查看当前用户的定时任务:

    crontab -l

    6. 查看定时任务日志执行信息:

     tail -f /var/log/cron

     

    展开全文
  • 1.先编写一个txt文件,里面存要执行定时任务,如: * * * * * /mnt/shell-test/test.sh (每分钟执行一次test.sh脚本) 2.执行如下命令: crontab/mnt/shell-test/test.txt 会将test.txt文件中的内容加入到crontab中 ...

    因为项目运行时间长之后,日志文件是一定要处理的,不然服务器的硬盘空间早晚要满的,下面是我处理这个问题的方法

     

    这里我的cleanLog.sh内容是: 

    #! /bin/bash  
    cat /dev/null > /mnt/service-org/nohup.out
    find /mnt/service-org/log/server/ -mtime +180 -exec rm -rf {} \;
     

    第一行内容是清理service-org目录下的nohup.out文件,因为我已经在log中存了需要的日志文件了,所以nohup.out文件只需要来查看即时的日志就可以,不需要全部存储,所以每天都清理一次

    第二行内容是检查server目录下,修改时间在180天之前的日志文件,然后用rm -rf命令来清理,建议先写一个测试的shell脚本来测试编写的命令,,,尤其是rm -rf操作...

     

     

    1.先写一个cleanLog.txt文件,写入要执行的定时任务,

    如:   * 9 * * * /mnt/shell-test/cleanLog.sh  (每天上午9点执行一次cleanLog.sh脚本)

    2. 将cleanLog.sh加入命令

    chmod +x cleanLog.sh 

    3.执行如下命令:     crontab /mnt/shell-test/cleanLog.txt     会将cleanLog.txt文件中的内容加入到crontab中

    如果在这一步遇到了下面的错误,参考我的另一篇文章:  https://blog.csdn.net/weixin_39989962/article/details/105514650

     ********** premature EOF errors in crontab file, can't install. 

     

    3.运行如下命令查看是否成功:    crontab -l  (查看当前用户下的定时任务,也会在/var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚本。) 

    crontab -r 可以删除当前用户下的定时任务


     

     

    展开全文
  • kettle- linux定时执行ktr shell脚本

    千次阅读 2019-03-26 18:51:18
    kettle -linux 定时执行ktr shell脚本 适合对kettle和lnux还有shell语言有些基础的人来看 首先 将kettle中的pash.sh脚本赋上执行权限 chmod u+x pan.sh #!/bin/bash timeFlag=`date +%Y%m%d` source /etc/...

    kettle -linux 定时执行ktr shell脚本

    适合对kettle和lnux还有shell语言有些基础的人来看

    首先 将kettle中的pash.sh脚本赋上执行权限   chmod u+x pan.sh

    #!/bin/bash
    timeFlag=`date +%Y%m%d`
    source /etc/profile
    cd /root/Public/data-integration
    
    ./pan.sh -file=/root/Public/ktr/es/es_one.ktr /level:Basic >>/root/Public/log/es_job_one${timeFlag}.log &
    ./pan.sh -file=/root/Public/ktr/es/es_two.ktr /level:Basic >>/root/Public/log/es_job_two${timeFlag}.log &
    ./pan.sh -file=/root/Public/ktr/es/es_three.ktr /level:Basic >>/root/Public/log/es_job_three${timeFlag}.log &
    ./pan.sh -file=/root/Public/ktr/es/es_four.ktr /level:Basic >>/root/Public/log/es_job_four${timeFlag}.log &
    

    用linux 的crontab 命令来执行任务

    输入 crontab -e命令

    按 i 键输入信息

    例子: */5 * * * * 脚本路径

    注:每五分钟执行一次该脚本

    按Ese键

    之后:wq退出

    ------------------------------cronta--b 相关命令:

    查看任务是否执行:

    输入service crond status命令

    crontab常用命令

    crontab  -1 查看信息

    crontab  -l 查看执行脚本

    crontab  -r (轻易别用。删除任务)

     

    展开全文
  • 2.shell脚本的意义 1.记录命令执行的过程和执行逻辑,以便以后重复执行 2.脚本可以批量处理主机 3.脚本可以定时处理主机 3.如何创建shell脚本 #!/bin/bash ##幻数 vim自动添加脚本首部 “map ms:call WESTOSTITLE()'...
  • linux定时执行shell脚本

    2019-12-13 16:05:31
    /bin/bash 是必须要写的,表示要是/bin/bash这个执行脚本的命令执行接下来写的脚本, echo "hello world !!"表示想前端打印一句话,具体看各自需求。 编写测试脚本: 生成文件夹的脚本(创建日期相关的文件夹):...
  • Linux定时执行shell脚本

    2019-09-29 15:54:30
    1,新建shell脚本文件,并授权: touch/opt/cron/auto-del-image-1days-ago.sh chmod+x auto-del-image-1days-ago.sh 2,编写脚本内容:viauto-del-image-1days-ago.sh find /opt/image/* -mmin +1 -exec rm .....
  • 1 #!/bin/bash 2 step=1 3 for ((i=1;i<=60; i+=step)) 4 do 5 $(`/usr/local/php-5.6.22/bin/php /root/zhangxiao/zxtest/log.php >> log.html`) 6 sleep $ste...
  • 用cron定时执行shell脚本

    千次阅读 2017-12-25 15:47:59
    1.用vi创建 log.txt, print.sh 文件 2. vi 打开print.sh 添加如下内容: #!/bin/sh echo "i am print file, $(date '+%Y%m%d %H:%M:%S')" >>log.txt echo $(date '+%Y%m%d %H:%M:%S') 3. 用命令crontab -e打开cron...
  • #! /bin/bash #获取前一天时间 date=`date -d yesterday +%Y%m%d` #当前时间 nowdate=`date +%Y%m%d%H%M` #每天几点的时间 time=`date "+%H%M"` while true do fileName="./file.$date" ... python3 /home/work/pv/...
  • 有什么方法可以,在terminal直接执行 nohup 这个语句就可以将递归调用的所有日志都输出至.log 但是在crontab 中定时执行的时候,却只有 job_import.sh 本身的日志可以输出至 .log 求linux大神帮助。百度搜索不到...
  • redis同步到mysql定时执行任务的的入口实际处理业务(发起通知请求)定时消费方 借助crontab+shell外力实现秒级执行 读取redis任务队列到mysql存储处理秒级时间sh脚本处理秒级小于当前时间sh脚本 linux下的...
  • 分享一个脚本给大家,安卓后台定时执行 shell 脚本,测试完成后自动重启: #!/system/bin/sh #初始条件:进入来画首页 logcat -b main -b system -b radio -b events -v time >logcat.log & #开始测试时间戳 ...
  • 一、shell脚本 #!/bin/bash #coding=UTF-8 #date_year=$(date +%Y) #echo $date_year source /etc/profile for((i=3;i;i++)); do /opt/sqoop-1.4.6/bin/sqoop import --connect jdbc:mysql://192.168.150.86:3306/a
  • openwrt 定时任务 运行shell脚本

    万次阅读 2016-09-03 00:12:28
    步骤一:写一个xxx.sh shell脚本  【注】chmod +x xxx.sh 可执行脚本 【注】环境变量  脚本的!/bin/bash下,添加如下两行:  PATH=。。。(echo $PATH)  export PATH   步骤二:   # crontab –e 这样可以已...
  • shell脚本部分:ex:就是ping 各个目的ip10个包,然后获取丢包率和平均延迟时间,在Linux上设置为定时任务,每分钟执行一次。他会把数据写到influxdb服务器上面去,表示hk_vnloss和hk_vn01rtt,字段是loss和rtt,...
  • 利用shell脚本定时执行java程序

    千次阅读 2019-02-21 14:12:37
    最近在工作中遇到一个小需求,需要定时执行java程序,由于是在linux下,很自然想到了利用crontab+shell脚本定时执行java程序。当我按照编写好脚本,手动执行了一下脚本,发现没问题,java程序可以正常运行,于是接着...
  • 如何执行shell脚本5.如何对脚本进行调试6.脚本练习: 1.什么是shell 脚本中命令的解释器 2.shell脚本的意义 1.记录命令执行的过程和执行逻辑,以便以后重复执行 2.脚本可以批量处理主机 3.脚本可以定时处理主机 3....
  • Centos 的 Shell 脚本定时执行SQL语句

    千次阅读 2018-04-27 15:35:38
    1. 编写Shell 脚本excute_mysql.sh #!/bin/bash # Define log TIMESTAMP=`date +%Y%m%d%H%M%S` LOG=call_sql_${TIMESTAMP}.log echo "Start execute sql statement at `date`." >>${LOG}...
  • shell定时周期性执行脚本

    万次阅读 2019-03-14 14:38:01
    使用方法:cron,是一个Linux定时执行工具,可以在无需人工干预的情况下运行作业。 文章目录示例原理如何使用开启关闭croncron时间表cron目录。 示例 编写测试脚本脚本 time .sh $ cat time.sh #! /bin/bash ...
  • 终端执行python脚本,传递参数方法2.shell脚本使用基础3.shell脚本 & python脚本案例 0.故事的背景: 我希望每天固定时间,从某接口获取数据,然后把当天的数据插入到另一个数据库中 因为我shell脚本不太熟悉...
  • #!/bin/sh #Section configuration(配置部分) #Task Time ,ex:203000(Time 20:30:00);190000(Time 19:00:00);...#Section promgram (程序执行部分) perDate=$(date "+%Y%m%d") isNewDay=1 isFirstTime=1 echo '
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    halt执行时,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成后就会停止内核。若系统的运行级别为0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代。  ...
  • 有的时候为了保险起见我们需要定期对项目所使用数据库的数据进行备份,本篇博客记录如何使用shell脚本+crontab定时任务定期备份MySQL数据库的数据: 1、编写使用mysqldump来进行备份的shell脚本 注:使用...
  • 定时检查进程的shell脚本

    千次阅读 2009-12-03 00:25:00
    /bin/bash#TIME=18:32#while [ 1 -eq 1 ]#do#TMP=`date +%H:%M`#echo $TMP $TIME#if [ "$TMP" = "$TIME" ]#then#echo "时间到了,开始执行程序"#break#fi#sleep 1#donelryDir=/settle1/card2/script/lryecho "每隔5...
  • 定时检查进程的shell脚本

    千次阅读 2009-08-28 14:38:00
    /bin/bash#TIME=18:32#while [ 1 -eq 1 ]#do#TMP=`date +%H:%M`#echo $TMP $TIME#if [ "$TMP" = "$TIME" ]#then#echo "时间到了,开始执行程序"#break#fi#sleep 1#donelryDir=/settle1/card2/script/lryecho "每隔5...
  • shell脚本定时

    2019-09-26 17:51:41
    在公司的堡垒机上定时执行一些程序,这里用的一个比较简单粗暴的方式,写了一个死循环,放在后台执行。这个任务是临时任务才这么执行。 while true do hour=`date +"%H"` minute=`date +"%M"` ct=${hour}"_"${...
  • Linux命令笔记

    2019-03-14 09:16:58
    5:脚本安装包与软件包选择 软件包管理/软件包管理命令 1:RPM包管理 rpm命令管理 命令 1:安装 rpm -ivh 包全名 2:升级 rpm -Uvh 包全名 3:卸载 rpm -e 包名 4:查询 rpm -q.. 5:校验 rpm -V 已安装的包名 6:...
  •  一个shell脚本 /root/test/shell/test_crontab_env.sh,内部使用了一个环境变量 TEST_CRONTAB_ENV=test_crontab_env  且TEST_CRONTAB_ENV存在于 /etc/profile 中  如:  #!/bin/bash  echo "`date +%
  • 本文通过linux的编写shell 脚本,可以执行springboot.jar 的启动,停止,重启和状态查询等功能;同时使用linux的crontab 功能实现定时开启与关闭

空空如也

1 2 3 4 5 ... 10
收藏数 197
精华内容 78
关键字:

定时执行+shell脚本