精华内容
参与话题
问答
  • 我们业务在生产服务器运行,产生许多日志文件,磁盘空间有限,需要经常 手动清理,现在通过linux的crond服务实现,自动移动日志到指定目录。 1.使用vi命令创建一个脚本文件(我是在home目录下创建的): vi mvlog.sh...

    我们业务在生产服务器运行,产生许多日志文件,磁盘空间有限,需要经常 手动清理,现在通过linux的crond服务实现,自动移动日志到指定目录。

    1.使用vi命令创建一个脚本文件(我是在home目录下创建的):
    vi mvlog.sh
    输入

    #! /bin/sh
    find /home/opt/services/logs/ -name "*.log*" -exec mv {} /home/testbackup \;
    

    这段命令的意思是,找到 /home/opt/services/logs/ 目录下 名字 是*.log* 的文件 移动到 /home/testbackup 目录下。
    也可以加上 -mtime +3 这种方式设置当前时间前4天的文件,如下

    #! /bin/sh
    find /home/opt/services/logs/ -mtime +3 -name "*.log*" -exec mv {} /home/testbackup \;
    

    需要注意的是最后的目录名字 和 \ 之间一定要有一个空格 。否则会出现 find: 遗漏”-exec”的参数 这个错误。

    2.保存退出,然后可以通过sh来执行脚本,具体的命令是:
    sh /home/mvlog.sh 查看下是否能够成功。

    3.检查服务器是否有crond服务,命令:
    service crond status

    正常返回:crond (pid 30084) 正在运行…

    如果没有正常返回:需要安装一下,命令如下
    yum -y install vixie-cron
    yum -y install crontabs

    启动命令:
    service crond start
    停止命令:
    service crond stop
    重启命令:
    service crond restart

    4.设置定时任务,命令:
    crontab -e
    输入:

    */2 * * * * /bin/sh /home/mvlog.sh 
    

    这里设置的是每2分钟执行一次。

    * * * * * 命令。。。。
    每个*对应的取值范围分别是:
    0-59 分钟,0-23小时,1-31日,1-12月,0-7星期几。
    

    更详细解释详情:Linux crond定时任务时间说明
    5.wq保存退出,然后重启服务,命令:
    service crond restart。

    注意:如果操作过过程中有提示权限的问题,记得时候root 权限,给文件开放权限。

    展开全文
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    文件为doc版,可自行转成txt,在手机上看挺好的。 本资源来自网络,如有纰漏还请告知,如觉得还不错,请留言告知后来人,谢谢!!!!! 入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供...
  • Linux命令行与shell脚本编程大全(第2版)

    千次下载 热门讨论 2014-02-20 13:51:01
    10.2 创建shell脚本文件 10.3 显示消息 10.4 使用变量 10.4.1 环境变量 10.4.2 用户变量 10.4.3 反引号 10.5 重定向输入和输出 10.5.1 输出重定向 10.5.2 输入重定向 10.6 管道 10.7 执行数学运算 10.7.1...
  • 文章目录VIM文本编辑器配置主机名称配置网卡信息配置光盘yum仓库Shell脚本编译简单的脚本接收用户参数 VIM文本编辑器 linux系统中一切皆文件,因此经常需要编辑文件内容。人们linux系统中都会安装Vim文本编辑工具。 ...

    VIM文本编辑器

    linux系统中一切皆文件,因此经常需要编辑文件内容。人们linux系统中都会安装Vim文本编辑工具。 vim是vi的升级版
    vim有三种模式:
    命令模式:控制光标移动,可对文本进行删除、赋值、粘贴等操作
    输入模式:可以正常输入文本
    末行模式:保存、退出与设置编辑环境
    每次运行vim后默认进入命令模式,三种模式的切换方式如下:
    在这里插入图片描述
    命令模式常用快捷键:

    dd  删除(剪切)光标所在的行
    5dd   删除(剪切)光标所在的行开始的5行
    yy     复制光标所在的整行
    5yy   赋值光标所在行开始的5行
    p    将剪切赋值的行粘贴到光标后
    /字符串   在文本中从上至下搜索该字符串
    ?字符串  在文本中自下而上搜索该字符串
    n   显示搜索命令定位到下一个字符串
    N   显示搜索命令定位到上一个字符串
    u   撤销上一步操作
    

    末行模式常用命令:

    :w   保存
    :q   退出
    :q!  强置退出(放弃修改)
    :wq!  强制保存退出
    :set nu  显示行号
    :set nonu  不显示行号
    :整数    跳转到该行
    

    在命令模式和末行模式中所有的命令都区分大小写

    配置主机名称

    [root@localhost ~]# vi /etc/hostname
    server1
    

    配置网卡信息

    [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    IPADDR=192.168.12.10
    NETMASK=255.255.255.0
    GATEWAY=192.168.12.1
    DNS=192.168.12.1
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=032e7ad3-cb98-49f1-ab3a-328e437aba77
    DEVICE=ens33
    ONBOOT=yes
    [root@localhost ~]# systemctl restart network
    

    配置光盘yum仓库

    进入目录/etc/yum.repos.d 参考步骤如下:
    在这里插入图片描述

    Shell脚本

    Shell是用户与Linux系统通讯的媒介,自身也定义了各种变量参数,提供了循环、分支等高级语言才有的控制结构特性。如何使用这些功能,准确下达指令尤为重要。
    Shell的工作形式分为两种
    交互式:用户输入一条命令,Shell解释并执行一条
    批处理:事先编写一个Shell脚本,其中包含很多命令,Shell一次执行完所有命令。
    查看系统中可用的Shell解释器

    [root@localhost yum.repos.d]# cat /etc/shells
    /bin/sh
    /bin/bash
    /usr/bin/sh
    /usr/bin/bash
    

    查看当前的Shell解释器

    [root@localhost yum.repos.d]# echo $SHELL
    /bin/bash
    

    编译简单的脚本

    一个完整的脚本应该包括:
    **脚本声明(#!):**告知系统用何种shell来解释
    **注释信息(#):**对执行语句或程序做介绍 不必须
    **可执行语句:**具体的命令

    编写一个简单的test.sh

    [root@localhost test]# vi test.sh
    #!/bin/bash
    #example
    pwd
    ls -al
    ~
    

    执行脚本的三种方法:
    脚本文件路径:./test.sh
    sh脚本文件路径:sh test.sh
    source脚本文件路径:source test.sh
    执行示例:

    [root@localhost test]# ./test.sh
    -bash: ./test.sh: 权限不够
    [root@localhost test]# ll
    总用量 4
    -rw-r--r--. 1 root root 32 1021 04:58 test.sh
    [root@localhost test]# chmod u+x test.sh
    [root@localhost test]# ./test.sh
    /root/test
    总用量 4
    drwxr-xr-x. 2 root root  21 1021 04:58 .
    dr-xr-x---. 6 root root 234 1021 04:56 ..
    -rwxr--r--. 1 root root  32 1021 04:58 test.sh
    [root@localhost test]# sh test.sh
    /root/test
    总用量 4
    drwxr-xr-x. 2 root root  21 1021 04:58 .
    dr-xr-x---. 6 root root 234 1021 04:56 ..
    -rwxr--r--. 1 root root  32 1021 04:58 test.sh
    [root@localhost test]# source test.sh
    /root/test
    总用量 4
    drwxr-xr-x. 2 root root  21 1021 04:58 .
    dr-xr-x---. 6 root root 234 1021 04:56 ..
    -rwxr--r--. 1 root root  32 1021 04:58 test.sh
    [root@localhost test]# 
    

    接收用户参数

    shell脚本执行时可以传入参数,如: test.sh p1 p2
    脚本中可以通过19,1-9,{10},11,...{11},...{n} 访问对应位置的参数
    除此之外shell脚本中还内置了如下参数:

    $0 当前执行Shell脚本的程序名
    $# 一共有多少个参数
    $*  所有位置变量的值
    $?  判断上一条命令是否执行成功 0 为成功 非0 表示失败
    

    编写如下脚本并执行:

    [root@localhost test]# vi test2.sh
    #!/bin/bash
    echo "当前脚本名称:$0"
    echo  "总共$#个参数"
    echo  "第一个参数$1"
    echo  "所有位置变量的值 $*"
    echo  "上一条是否执行结果$?"
    [root@localhost test]# chmod u+x test2.sh
    [root@localhost test]# ./test2.sh p1 p2 p3 p4
    当前脚本名称:./test2.sh
    总共4个参数
    第一个参数p1
    所有位置变量的值 p1 p2 p3 p4
    上一条是否执行结果0
    

    判断用户参数

    Shell脚本有时候需要判断用户输入参数,如mkdir命令要判断目录是否存在。
    可以通过条件测试语句来完成判断,格式:【 条件表达式 】 两边均有空格
    条件测试语句包含:文件测试、逻辑测试、整数值比较、字符串比较

    文件测试

    格式:【 操作符 文件或目录名 】

    -d  测试是否是目录
    -e  测试文件或目录是否存在
    -f   是否为文件
    -r   测试当前用户是否有权读入
    -w  测试当前用户是否有权限写入
    -x   测试当前用户是否有权限执行 
    

    示例如下:

    [root@bogon ~]# [ -d /etc/f ]
    [root@bogon ~]# echo $?
    1
    [root@bogon ~]# [ -d /etc ]
    [root@bogon ~]# echo $?
    0
    [root@bogon ~]# 
    

    逻辑测试

    格式:[ 表达式1 ] 操作符 [ 表达式2 ]

    &&  逻辑与
    ||      逻辑或
    !    逻辑非
    

    如果当前用户是root 则输出 root

    [root@bogon ~]# [ $USER==root ] && echo "root"
    root
    

    整数值测试

    格式:[ 整数1 操作符 整数2 ]
    -eq 是否等于
    -ne 是否不定于
    -gt 是否大于
    -lt 是否小于
    -le 小于等于
    -ge 大于等于
    示例:

    [root@bogon ~]# [ 10 -gt 10 ]
    [root@bogon ~]# echo $?
    1
    

    字符串比较

    格式:[ 字符串1 操作符 字符串2 ]

    =  字符串内容是否相同
    !=  字符串内容是否不同
    -z  字符串是否为空
    

    判断字符串是否为空:

    [root@bogon ~]# [ -z '' ]
    [root@bogon ~]# echo $?
    0
    [root@bogon ~]# [ -z '1' ]
    [root@bogon ~]# echo $?
    1
    

    条件测试语句

    条件测试语句能够让Shell脚本根据实际情况灵活调整工作内容。

    if语句

    单分支if
    编辑脚本 并执行
    判断testdir是否 目录是否存在如果不存在则创建

    [root@localhost tmpdir]# vi test.sh
    #!/bin/bash
    DIR=testdir
    if [ ! -e $DIR ]
    then
    mkdir -p $DIR
    fi
    
    
    [root@localhost tmpdir]# ./test.sh
    

    双分支if

    编写脚本test2.sh 并测试
    执行 ping 命令 如果 执行成功输出 地址 可用 ,否则输出地址不可用

    [root@localhost tmpdir]# vi test2.sh
    #!/bin/bash
    ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
    if [ $? -eq 0 ]
    then
    echo "HOST $1 is up"
    else
    echo "Host $1 is down"
    fi
    
    [root@localhost tmpdir]# ./test2.sh ww.baddi.com
    Host ww.baddi.com is down
    

    多分支if

    用户输入成绩,根据成绩输出 Excellent Good Fail,如下:

    [root@localhost tmpdir]# vi test3.sh
    #!/bin/bash
    read -p "enter your score (0-100):" GRADE
    if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then
    echo "Excellent"
    elif [ $GRADE -ge 60 ] && [ $GRADE -le 85 ] ; then
    echo "Good"
    else
    echo "Fail"
    fi
    
    
    [root@localhost tmpdir]# ./test3.sh 
    enter your score (0-100):90
    Excellent
    [root@localhost tmpdir]# ./test3.sh 
    enter your score (0-100):70
    Good
    

    for条件语句

    语法:

    for 变量名 in 取值列表
    do 
        命令序列
    done
    

    示例:
    从文件中读取用户,如果用户不存在则创建并设置成输入的密码。
    创建文本文件user.txt,内容如下

    [root@bogon tmpdir]# vi user.txt
    zhangsan
    lisi
    wangwu
    

    编写脚本如下

    [root@bogon tmpdir]# vi testfor.sh
    #!/bin/bash
    read -p "Enter The Users Password:" PASSWD
    for UNAME in `cat user.txt`
    do
      id $UNAME &>/dev/null
      if [ $? -eq 0 ]
      then
         echo "user $UNAME already exists"
      else
         useradd $UNAME &>/dev/null
         echo "$PASSWD" | passwd --stdin $UNAME &>/dev/null
         if [ $? -eq 0 ]
         then
           echo "create SUCCESS"
         else
           echo "create failed"
         fi
      fi
    done
    ~
    

    执行结果

    [root@bogon tmpdir]# ./tetfor.sh
    Enter The Users Password:123456789
    create SUCCESS
    create SUCCESS
    create SUCCESS
    [root@bogon tmpdir]# ./tetfor.sh
    Enter The Users Password:zxm123
    user zhangsan already exists
    user lisi already exists
    user wangwu already exists
    [root@bogon tmpdir]# 
    

    while语句

    语法

    while 条件测试操作
    do
        命令序列
    done
    

    示例
    随机生成0~999范围内的一个整数,然后提示用户输入数字进行猜测,程序根据猜测结果提示 高了还是低了,猜中后程序退出

    #!/bin/bash
    PRICE=$(expr $RANDOM % 1000)
    TIMES=0
    echo "数字在0-999之间,猜猜看是多少"
    while true
    do
        read -p "请输入:" INT
        let TIMES++
        if [ $INT -eq $PRICE ] ; then
            echo "猜对了,您共猜了 $TIMES 次"
            exit 0
        elif [ $INT -gt $PRICE ] ; then
            echo "高了!你再猜:"
        else
            echo "低了! 你再猜:"
        fi
    done
    

    case 语句

    根据变量不同的取值,执行不同的命令操作
    语法

    case 变量值 in 
    模式1)
       命令序列
       ;;
    模式2)
        命令序列
        ;;
      ...... 
      *)
         默认命令序列
    esac 
    

    示例
    韩式字母输入一个字符判断是数字还是字母,如下:

            [root@bogon tmpdir]# vi testcase.sh 
    #!/bin/bash
    read -p "请输入yes或no 按Enter键确认:" KEY
    case $KEY in
    [a-z]|[A-Z])
        echo "您输入的是字母"
        ;;
    [0-9])
        echo "您输入的是数字"
        ;;
    *)
        echo “您输入的内容$KEY既不是字母也不是数字”
        ;;
    esac
    

    计划任务

    计划任务让linux操作同按照时间规则自动执行程序。计划任务分为一次性计划任务和长期性计划任务。

    一次性计划任务

    通过 atd服务来实现,通过命令 at 来进行操作

    at <时间>  安排一次性任务
    atq 或 at -l  查看任务列表
    at -c 序号 预览任务与设置环境
    atrm 序号  删除任务
    

    示例
    如果没有安装该命令 则 执行 yun install at 安装
    进入at 命令后 ctrl +d 保存并退出。

    [root@bogon ~]# at 15:30
    at> echo `date`
    at> 
    job 1 at Tue Oct 20 15:30:00 2020
    Can't open /var/run/atd.pid to signal atd. No atd running?
    [root@bogon ~]# atq
    1       Tue Oct 20 15:30:00 2020 a root
    

    长期可循环计划任务

    通过crontab服务实现
    命令

    创建、编辑计划任务 crontab -e [ -u 用户名]
    查看计划任务 crontab -l [ -u 用户名]
    删除计划任务 crontab -r [ -u 用户名]
    

    定时任务格式:
    分(0-59) 时(0-23) 日(1-31) 月(1-12) 星期(0-7 07都是星期日) 命令(脚本或命令)

    示例:
    每分钟执行一次/root/tmpdir/task.sh脚本
    定义任务
    定义任务时将小时 修改为16 定时任务一直不执行 修改为 4 才能正常执行 原来是时间不对

    [root@bogon ~]# crontab -e
    5 4 * * 1  /root/tmpdir/task.sh
    ~
    

    task.sh脚本内容
    写入当前时间到date.txt文件

    #!/bin/bash
    echo `date` >> /root/date.txt
    [root@bogon ~]# 
    

    date.txt输出结果

    [root@bogon ~]# tail -f date.txt
    Mon Oct 26 04:09:01 EDT 2020
    Mon Oct 26 04:10:01 EDT 2020
    

    如果定时任务不执行
    1、查看crond服务状态是否正常 service crond status

    [root@VM-0-9-centos mail]# service crond status
    Redirecting to /bin/systemctl status crond.service
    ● crond.service - Command Scheduler
       Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
       Active: active (running) since Mon 2020-11-23 21:35:06 CST; 24h ago
     Main PID: 975 (crond)
       CGroup: /system.slice/crond.service
               └─975 /usr/sbin/crond -n
    

    2、查看日志
    如下目录 root文件中的内容会显示执行遇到的异常

    [root@VM-0-9-centos mail]# pwd
    /var/spool/mail
    [root@VM-0-9-centos mail]# ll
    total 16
    -rw-------  1 root mail 13811 Nov 24 21:53 root
    -rw-rw----. 1 rpc  mail     0 Aug  8  2018 rpc
    
    展开全文
  • 1.创建shell脚本 在home的目录下,创建一个backup.sh的脚本,用来执行特定日志的移动操作。 命令:touch /home/backup.sh 2.在脚本中写入命令 用vi编译器来写入具体命令,vi /home/backup.sh,然后再输入i,将...

      在公司的linux服务器上,将生成的日志文件移动到特定的文件夹下,或者进行删除操作。

    1.创建shell脚本

        在home的目录下,创建一个backup.sh的脚本,用来执行特定日志的移动操作。

        命令:touch /home/backup.sh

    2.在脚本中写入命令

        用vi编译器来写入具体命令,vi /home/backup.sh,然后再输入i,将脚本变为可编辑状态。

        具体写入的命令:

         #! /bin/sh

         find  /home/backups/*  -mtime +2 -name “*.log*” -exec mv {} /home/beifen \;

         意思为找到指定目录下名字为.log 3天前的文件并移动到指定到指定文件夹。(实际上+2表示大于2,而大于2的最近的整数是3,所以实际上匹配的是3天前的文件)。

    3.执行shell脚本

         用sh来执行脚本,具体的命令是:sh  /home/backup.sh

    4.设置定时自动执行脚本

        先检查linux系统中是否有crond服务,具体命令是:service crond status

    5.安装crontab服务

       如若linux系统中没有contab服务,则可以安装,具体的安装命令是:

       yum -y install vixie-cron

       yum -y install crontabs

       第一个包是主程序,第二个是驱动守护进程的。

    6.crond服务的开启与关闭

       启动服务:service crond start

       关闭服务:service crond  stop

    7.再centos7中设置开机自启动

        chkconfig -level 345 crond on

    8.修改crontab中的内容

        命令:crontab -e

        进入后输入 10 00 * * * sh /home/backup.sh

    9.重启crond服务

        命令:service crond restart

    展开全文
  • 1、通过shell脚本实现将7天前的生成的日志压缩为zip包,并将原日志删除,最后将压缩包备份到FTP服务器上。具体见下 #!/bin/sh#Copyright(c) 2019-2019 #Backup the detail files and upload, clear logs #Version...

    1、通过shell脚本实现将7天前的生成的日志压缩为zip包,并将原日志删除,最后将压缩包备份到FTP服务器上。具体见下

    #!/bin/sh#Copyright(c) 2019-2019   
    #Backup the detail files and upload, clear logs
    #Version 0.1.1
    #应用名服务
    APPNAME=Applcation
    #应用1业务日志路径
    BIZLOGPATH=/home/App1/log/biz
    #应用2平台日志路径
    PLATLOGPATH=/home/App2/log/plat
    #应用1日志文件时间(获取7天前的日期)
    BIZLOGDATE=`date +%Y%m%d -d "7 day ago"`
    #应用2日志文件时间(获取7天前的日期)
    PLATLOGDATE=`date +%Y%m%d -d "7 day ago"`
    
    #远端FTP服务器配置(两个应用都移动到同一个日志文件FTP服务器上)
    #用户名
    USER=ftp
    #密码
    PASSWORD=ftp1
    #IP
    IP=198.1.1.1
    #应用1业务日志文件压缩包存放路径
    BIZREMOTEPATH=/log_app/APP1
    #应用2平台日志文件压缩包存放路径
    PLATREMOTEPATH=/log_app/App
    
    #将业务日志打成zip文件(其执行过程存储到detailApp.log文件中)
    echo "=== Start zip logs ==="
    bizzname=${APPNAME}"_"$HOSTNAME"_BIZ"$BIZLOGDATE
    cd ${BIZLOGPATH}
    if [ $? -eq 0 ]; then
        echo "=== Success cd "${BIZLOGPATH} "==="
    else
        echo "=== Failed cd "${BIZLOGPATH} "==="
        exit
    fi
    zip -o -v -r $BIZLOGPATH/$bizzname"".zip ${BIZLOGDATE}/* >> $BIZLOGPATH/detailApp.log
    if [ $? -eq 0 ]; then
        echo "=== Success bizzip "$bizzname"".zip "write in "$BIZLOGPATH/detailApp.log
    else
        echo "=== Failed bizzip "$bizzname"".zip "write in "$BIZLOGPATH/detailApp.log
        exit
    fi
    #切换至用户主目录
    cd 
    #移除原日志文件
    echo "=== Start deleting logs ==="
    rm -vrf ${BIZLOGPATH}/${BIZLOGDATE} >> $BIZLOGPATH/detailApp.log
    if [ $? -eq 0 ]; then
        echo "=== Success removed logs,delete log write in "$BIZLOGPATH/detailApp.log
        
    		echo "=== Start upload ==="
    #进入待上传文件目录
    cd ${BIZLOGPATH}
    #登录ftp用户
    ftp -i -n<<!>>detailApp.log
    open ${IP}
    user ${USER} ${PASSWORD}
    cd $BIZREMOTEPATH
    mkdir $BIZLOGDATE
    cd $BIZLOGDATE
    bin
    put $bizzname.zip
    close
    bye
    !
    echo "=== Success upload ==="
    
    		
    else
        echo "=== Failed removed logs,delete log write in "$BIZLOGPATH/detailApp.log
        exit
    fi
    
    		
    		
    		
    #将平台日志打成zip文件(其执行过程存储到detailApp.log文件中)
    echo "=== Start platzip logs ==="
    platzname=${APPNAME}"_"$HOSTNAME"_PLAT"$PLATLOGDATE
    cd ${PLATLOGPATH}
    if [ $? -eq 0 ]; then
        echo "=== Success cd "${PLATLOGPATH} "==="
    else
        echo "=== Failed cd "${PLATLOGPATH} "==="
        exit
    fi
    zip -o -v -r $PLATLOGPATH/$platzname"".zip ${PLATLOGDATE}/* >> $PLATLOGPATH/detailApp.log
    if [ $? -eq 0 ]; then
        echo "=== Success platzip "$platzname"".zip "write in "$PLATLOGPATH/detailApp.log
    else
        echo "=== Failed platzip "$platzname"".zip "write in "$PLATLOGPATH/detailApp.log
        exit
    fi
    #切换至用户主目录
    cd 
    #移除平台日志源文件
    echo "=== Start deleting logs ==="
    rm -vrf ${PLATLOGPATH}/${PLATLOGDATE} >> $PLATLOGPATH/detailApp.log
    if [ $? -eq 0 ]; then
        echo "=== Success removed logs,delete log write in "$PLATLOGPATH/detailApp.log
        
    		echo "=== Start upload ==="
    cd ${PLATLOGPATH}
    #登录ftp用户
    ftp -i -n<<!>ftp.log
    open ${IP}
    user ${USER} ${PASSWORD}
    cd $PLATREMOTEPATH
    mkdir $PLATLOGDATE
    cd $PLATLOGDATE
    bin
    put $platzname.zip
    close
    bye
    !
    		echo "=== Success upload ==="
    else
        echo "=== Failed removed logs,delete log write in "$PLATLOGPATH/detailApp.log
        exit
    fi
    		
    		
    		

    2、将上面shell代码的保存成一个文件(如:clearlogs.sh)

    3、通过配置Linux的定时任务每天定时执行

    crontab -e
    
    
    ----
    15 12 * * * sh clearlogs.sh
    

     

     
    展开全文
  • rm -rf 删除文件指定移动文件位置。 建立回收站机制,它并不真正执行删除操作,而是将文件移动到一个特定目录,可以设置定时清除回收站,或者在回收站里面的文件大小达到一定容量时(或者用时间做判断)执行删除操作...
  • 1:滚动产生日志 xxx.log xxx.log xxx.log xxx.log.1 xxx.log.1  xxx.log.2 由于新建日志比上传慢,所以会...2:重命名移动过后的日志文件(buffer区间) 3:上传hadoop 4:运行sh shell文件测试 5:crontab定时
  • 考虑到文件很多,日志解压、移动文件每解压、移动1000个记录一次,合并、删除文件每合并、删除50000个记录一次, 3. 启动任务前需配置文件解压合并的路径,本程序需配置的路径如下: 1). PROVINCE_DIR:原始文件存放...
  • Linux 下回收站机制

    千次阅读 2018-03-25 23:29:50
    Linux下删除文件不像Windows那样,删除文件放入回收站. 而是通过rm 命令删除文件....写个shell脚本替换rm命令,或者在需要删除文件的时候使用mv命令将文件移动到回收站. 家目录(~)新建一个隐藏...
  • linux上定时执行某些脚本是管理服务器的时候比较常用的场景,比如定时检查进程是否存在,定时启动或关闭进程...假设是定时执行shell,来移动log文件 找到个网上的脚本: #!/bin/bash log_path="" ...
  • Ubuntu权威指南(2/2)

    2010-12-05 09:01:53
    5.5 移动文件 117 5.6 删除文件 118 5.7 显示当前工作目录 119 5.8 改换目录 119 5.9 创建目录 121 5.10 移动目录 121 5.11 复制目录 121 5.12 删除目录 122 5.13 比较文件之间的差别 123 5.13.1 使用diff命令比较两...
  • Ubuntu权威指南(1/2)

    2010-12-05 08:57:03
    5.5 移动文件 117 5.6 删除文件 118 5.7 显示当前工作目录 119 5.8 改换目录 119 5.9 创建目录 121 5.10 移动目录 121 5.11 复制目录 121 5.12 删除目录 122 5.13 比较文件之间的差别 123 5.13.1 使用diff命令比较两...
  • 本章主要介绍了Shell的基本概念、Shell脚本以及awk的相关知识。 第8章:进程管理。本章主要介绍了在Linux中的进程管理。其中包括了进程、进程数、进程的优先级、定时执行等。 第9章:C编译器—— gcc。本章主要介绍...
  • 1.58 mv 指令:移动或更名现有的文件或目录 1.59 ncftp指令:文件传输 1.60 ncftpget指令:下载文件 1.61 ncftpput指令:上传文件 1.62 od指令:输出文件内容 1.63 paste指令:合并文件的列 1.64 patch指令:修补...
  • 1350多个精品易语言模块提供下载

    热门讨论 2011-06-06 17:51:09
    世宝脚本语言引擎.ec 世恒通用安装系统文件压缩模块.ec 世恒通用安装系统文件压缩 模块RAR.EC 个性信息框.ec 个性信息框1.1.ec 个性信息框1.21.ec 个性信息框1.5.ec 个性 信息框1.ec 个性信息框1[1].21.ec 个性化...
  • 1345个易语言模块

    2012-01-27 19:41:59
    世宝脚本语言引擎.ec 世恒通用安装系统文件压缩模块.ec 世恒通用安装系统文件压缩 模块RAR.EC 个性信息框.ec 个性信息框1.1.ec 个性信息框1.21.ec 个性信息框1.5.ec 个性 信息框1.ec 个性信息框1[1].21.ec 个性化...
  • 世宝脚本语言引擎.ec 世恒通用安装系统文件压缩模块.ec 世恒通用安装系统文件压缩 模块RAR.EC 个性信息框.ec 个性信息框1.1.ec 个性信息框1.21.ec 个性信息框1.5.ec 个性 信息框1.ec 个性信息框1[1].21.ec 个性化...
  • 易语言模块914个

    2018-03-12 20:00:21
    freemark模块_取文件.ec gdiplus类模块.ec GetStringSize.ec Hex-Dec.ec HTTP.ec http_ec.ec HTTP访问模块 .ec HTTP访问模块1.0.ec HTTP访问模块1.1.ec IC卡读写模块 1.0.ec internet2.ec IPbox2.ec IP...
  • 易语言模块大全

    2013-12-05 15:48:22
    定时提醒1.1.ec 动感图标菜单.ec 动画窗体1.3.ec 动态调用DLL函数.ec 动态调整分辩率.ec 动态加载菜单模块1.0版.ec 动态类名.ec 动态显示窗口.ec 读.xls文件到高级表格.ec 读取DBF数据.ec 读取超级列表框...
  • 定时提醒1.1.ec 客户管理模块.ec 对内存进行读写操作.0.ec 对剪贴版进行数据获取和数据设置.ec 对话框代码自动生成器.ec 寻找子文件夹.ec 寻找注册表.ec 寻找磁盘文件.ec 寻找磁盘文件模块 1.0.ec 寻找窗口内指定...
  • 在很多脚本语言中,您不必担心内存是如何管理的,这并不能使得内存管理的重要性有一点点降低。对实际编程来说,理解您的内存管理器的能力与局限性至关重要。在大部分系统语言中,比如 C 和 C++,您必须进行内存...
  • 操作系统(内存管理)

    热门讨论 2009-09-20 12:55:25
    在很多脚本语言中,您不必担心内存是如何管理的,这并不能使得内存管理的重要性有一点点降低。对实际编程来说,理解您的内存管理器的能力与局限性至关重要。在大部分系统语言中,比如 C 和 C++,您必须进行内存管理...
  • Linux下删除文件不像Windows,删除的文件会放入回收站,...原理如下: 重定向rm命令,并不真正执行删除操作,而将文件移动到一个特定目录设置时间定时清除临时回收站重定向命令首先写shell脚本替换rm命令,或者在需要...
  • 可以写个shell脚本替换rm命令,它并不真正执行删除操作,而是将文件移动到一个特定目录,可以设置定时清楚回收站,或者在回收站里面的文件大小达到一定容量时(或者用时间做判断)执行删除操作以腾出空间。...

空空如也

1 2
收藏数 31
精华内容 12
关键字:

定时移动文件shell脚本