开发或测试环境一般会打开DEBUG调试模式,程序会产生大量的DEBUG_LOG,一周时间(甚至更短)就能把环境磁盘塞满。
人为手动删除日志的话,环境过多(工作量大),任务繁忙(遗忘),给环境使用带来影响。
Linux系统是否有与Windows类似的定时任务的程式呢?有的。
Crontab实现自动任务就是在/etc/crontab文件中按照规则配置自动任务,系统会按照配置进行任务调度。
其功能是在指定时间或指定时间间隔调度命令或脚本或拉起程序。
minute hour day-of-month month-of-year day-of-week commands
# minute 分钟(0-59)
# hour 小时(0-23)
# day-of-month 日(01-31)
# month-of-year 月(01-12)
# day-of-week 周(0-6)
# commands 执行命令
参数除了填写数字还可以写特殊符号:
比如清理Oracle垃圾数据(先写一个清理的脚本clear.sh):
#!/bin/bash
rm -rf /*/oracle/diag/rdbms/trace/*
rm -rf /*/oracle/diag/rdbms/alert/*
Crontab命令的配置是写在/etc/crontab文件中
vi /etc/crontab
可以看到里面或许已存在一些已有任务。
Crontab命令简单实例:
#以下实例基本涵盖了大部分使用场景
#早上6点执行清理
0 6 * * * sh /home/oracle/task/clear.sh
#每8小时执行清理
0 */8 * * * sh /home/oracle/task/clear.sh
#晚11至早6点每两小时执行清理以及早六点执行清理
0 23-5/2,6 * * * sh /home/oracle/task/clear.sh
#周三/周日早六点执行清理
0 6 * * 3,0 sh /home/oracle/task/clear.sh
在**/etc/crontab**中正确配置保存后即可生效。
当前还没有观点发布,欢迎您留下足迹!
Linux系统一般情况下启动默认只加载系统盘,支持其他磁盘自由热插拔,如果发现自己的某些目录找不见了的时候不要慌看看是不是没有设置开机启动自动加载挂载磁盘内容,另外要特别注意首次安装系统记得磁盘挂载操作
awk,一种处理文本文件的语言,强大的文本分析工具。取三位创始人Alfred Aho、Peter Weinberger和Brian Kernighan的Family Name的首字符
项目上的开发和测试环境非常多,少则数十多则上百,实际工作中实在懒得来回登录或打开各个环境,最好的方案就是给内网环境间添加一下信任关系,便于快速在环境之间切换,免去输入密码的烦恼
expect脚本由一系列expect-send对组成,等待输出中输出特定的字符,通常是一个提示符,然后发送特定的响应,特别适用于需要批量手动输入命令的自动化操作改造
Shell脚本循环读取文件常用的方案有输入重定向和管道操作,循环形式有while和for两种,具体的使用或搭配看个人习惯,个人尚未对命令进行性能验证
Linux系统的Comm命令可以方便快捷的对比文本文件并输出差异结果,使用该命令需要一个前提最好先对文件进行排序,否则输出的差异结果一言难尽,因此会比较适合数据库导出数据的对比