zoukankan      html  css  js  c++  java
  • 定时任务

    1 用户管理查看命令

    w:            显示系统连接用户信息/显示负载信息
    id:            查看用户uid gid 以及所属组信息
    last:         记录系统有哪些用户曾经登录过
    lastlog:    记录系统中所有用户,登录系统使用情况
    whoami:   显示当前用户信息

    2 系统相关检查命令

    top:检查负载情况,内存使用,cpu使用情况,每个进程消耗的系统资源情况
    us 用户态信息
    sy 内核态信息
    id 空闲状态
    htop:top的升级版
    iotop:检查确认磁盘的IO消耗情况
    free:显示内存信息
    iftop:检查网络宽带使用情况
    netstat(ss)-lntup|grep ssh:检查网络状态信息命令 已知服务,获得对应端口号
    -l 列表显示网络服务状态信息
    -n 网络中的端口号码以数字形式显示
    -t 显示网络的tcp协议服务信息
    -u 显示网络的udp洗衣服务信息
    -p 网络协议服务进程信息进行显示
    lsof -i:检查网络服务信息

    3 安全操作命令

    chattr:将文件数据进行上锁命令
    chattr +i 文件名    对文件进行上锁
    chattr -i 文件名     对文件进行解锁
    lsattr:查看文件锁定状态

    4 定时任务

    4.1 作用:

    自动备份数据,自动同步时间,自动清空数据

    4.2 实现方法:

    cronie

    4.3 实现方式:系统默认定时任务

    /etc/cron.daily 每天执行的任务
    /etc/cron.hourly 每小时执行的任务
    /etc/cron.monthly 每个月执行的任务
    etc/cron.weekly 每周执行的任务
    logrotate 脚本 实现日志文件切割功能
    切割文件过程:1、将源文件进行重命名 2、重启程序服务,生成源文件

    4.4 自定义定时任务:

    一个命令:
    crontab -l:显示定时任务配置信息
    crontab -e:编写定时任务配置信息 (用visudo)
    两个文件:
    /var/spool/cron/root(oldboy) : root用户编写的定时任务配置信息 /etc/sudoers
    /var/log/cron: 定时任务日志文件(排错)
    /etc/cron.deny: 定义定时任务用户黑名单 (了解)

    4.5 定时任务编写方法

    (1)定时任务服务是否开启:ps -ef|grep cron
    (2)编写定时任务:crontab -e
    (3)格式信息:* * * * * 具体做的事情
    测验1:每天晚上9:30 上床睡觉     30 21 * * * 上床睡觉
    测验2:每天早上7:00 起床上学     00 07 * * * 起床上学
    测验3:每个一个小时,下课休息   00 * /1 * * 下课休息
    测验4:上午10点整11点整12点整 都要进行休息      00 10-12 * * * 进行休息
    测验5:上午10点整12点整 下午15点整17点整休息      00 10,12,15,17 * * * 休息
    测验6:每月5号,周三 晚上12点整 睡觉 ps:日期和星期不能同时出现
    每 每分钟、每小时、每天、每月、每周
    /(每隔)/1 每隔一分钟、每隔一小时、每隔一天、每隔一月、每隔一周
    - 连续间隔时间 10-12 10 11 12
    ,不连续间隔时间 10,13
    1 编写定时任务实践
    (1)每隔三分钟,进行时间同步
    ntpdate ntp1.aliyun.com
    (2)编辑定时任务时间信息
    cronatb -e

    /3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com

    (3)编写定时任务注释说明
    # 完成时间同步
    */3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com

    (4)查看定时任务
    tail -f /var/log/cron



    每隔1小时的整点,执行数据备份任务 (cp /etc/hosts /tmp/hosts.bak)
    ①00 */1 * * * cp /etc/hosts /tmp/hosts.bak

    00 */1 * * * cp /etc/hosts /tmp/hosts.`date +\%T`	定时任务中命令信息中特殊符号无法直接识别
    

    每隔1分钟,将/etc/hosts /etc/rc.local /server/scripts 进行压缩,生成压缩有时间信息
    压缩包保存在/tmp目录/oldboy_10:00:00.tar.gz
    ①执行命令测试
    tar zchf /tmp/oldboy_$(date +%H-%M).tar.gz ./etc/hosts ./etc/rc.local ./server/scripts/

    ②编写脚本信息
    touch yasuo.sh

    #!/bin/bash
    tar zchf /tmp/oldboy_$(date +%H-%M).tar.gz ./etc/hosts ./etc/rc.local ./server/scripts/

    ③测试执行脚本
    /usr/bin/sh /root/yasuo.sh
    ④编写定时任务
    crontab -e
    */1 * * * * /usr/bin/sh /root/yasuo.sh &>/dev/null
    &>/dev/null:将正确错误信息追加到黑洞中
    2>/dev/null:直将错误信息追加到黑洞中

    5 定时任务编写注意事项:

    (1)定时任务中命令信息最好使用绝对路径
    定时任务执行时识别PATH环境变量信息:/usr/bin:/bin
    (2)定时任务中命令信息中特殊符号无法直接识别
    方法一:特殊符号加 <br /> 方法二:将命令信息写成脚本
    (3)定时任务编写不正确,会产生错误信息
    postfix 邮件服务开启
    错误信息存放位置:/var/spool/mail/root block占用过多 造成磁盘存储资源减少
    postfix 邮件服务关闭
    错误信息存放位置:/var/spool/postfix/maildrop/ inode占用过多 造成磁盘存储资源减少
    解决方式:将邮件服务开启,将产生错误信息追加到黑洞中
    crontab -e
    * */1 * * * usr//bin/sh /server/scripts/backup_file.sh &>/dev/null
    server/scripts:脚本文件夹
    backup_file.sh:脚本文件名
    (4)执行一些命令时,尽量较少命令信息输出(错误输出/正确输出)
    (5)完成任务大于两个命令,就需要编写脚本
    (6)脚本编写是需要有注释信息 #!/bin/bash
    (7)定时任务执行java程序操作时,需要编写环境变量 !!!
    需要在脚本里定时java程序环境变量
    JAVAHOME="XXXX"
    CLASSPATH="XXXX"
    PATH="$PATH:JAVAXXX"


    定时任务时间格式

  • 相关阅读:
    mina之小小总结(标准的菜鸟级别,行家勿入)
    tomcat(就一句话,自己的日记性质)
    MINA转自itoyo
    java web(没含量的,百科上的)
    解决VS.NET 2008中aspx文件没有设计界面
    正则表达式教程
    [VB] Option Explicit
    sql自定義函數 包含遊標
    sql 中 null+others=?
    实用手机号、IP、身份证号、歌曲查询接口
  • 原文地址:https://www.cnblogs.com/sandshell/p/12624616.html
Copyright © 2011-2022 走看看