作业管理【Ubuntu-shell】

来源:互联网 发布:淘宝秒杀器官方下载 编辑:程序博客网 时间:2024/05/21 21:44

作业管理:


    每一条shell命令的输入--->一个作业    cat -n /etc/hosts | more &    作业,前台交互执行,后台无需交互加“&”    --------------------------------------    jobs  【选项】 【作业号】:查看当前系统中后台作业        -l:列出详细作业信息        -s:列出停止暂停状态的作业        -r:列出运行状态的作业    vim &    top &    vim &    jobs -l    #[3]+ 23803 停止 (tty 输出)     vim      #[作业号]+第一个放置在后台  -第二个放在后台  23803进程PID号     #vim 原本需在前台交互,在后台会暂停    -------------------------------------------------------------    fg  作业号:使作业在前台执行    bg  作业号:使作业在后台执行    -----------------------------------------------------    #!/bin/bash    count=$1    while [ $count -gt 0 ]    do         count=$[ $count - 1 ]        sleep 0.001    done    echo "process $$finish."  #$$ 当前脚本的进程PID号    #process.sh    -------------------------------------------------       vim &     top &    source process.sh  10000 &    jobs -l    fg  process.sh的作业号    jobs  -l    bg  process.sh作业号    jobs -l    ---------------------------------------    一次性作业    service     atd     status:    at [选项】 【作业执行时间】:指定时间执行一次作业        -l:列出队列中的作业        -c:后加作业号参数,查看指定作业号的内容        -f:后加所要执行的作业的文件路径        -d:删除指定的作业号,参数作业号    at now +1min    #wall linux广播       at -l    batch:在负载较大时,暂缓调度作业    (source process.sh 10000 &);(source process.sh 10000 &);(source process.sh 10000 &)    cat  /proc/loadavg    batch    #wall linux    at -l    -----------------------------------------    周期性作业:    守护进程crond将周期性作业分类:全局作业、个人用户作业。    sudo  service crond status    cat /etc/crontab    vim /etc/crontab    #全局作业执行计划配置文件:/etc/crontab    #作业执行计划模板:分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,星期天0或7)  【用户名,如:root】 【执行的命令】      crontab 【选项】:维护个人用户的周期性作业计划文件        -u:后加用户名参数,指定配置用户的cron作业执行计划文件        -e:编辑当前用户作业执行计划        -l:显示当前用户作业执行计划        -r:删除当前用户的作业执行计划    #个人用户作业执行计划配置文件:/var/spool/cron/用户名命名的cron文件    ----------------------------------    制定监控登录用户人数的作业:    #vim /etc/crontab---->:0-59 * * * * root 【命令】    su root    #!/bin/bash    #ip1,ip2,limit作业执行的参数,表示过滤的IP地址范围和人数限制    ip1="\(192\.168\.126\.[1-9]\)"    ip2="\(192\.168\.126\.[1-9][0-9]\{1,2\}\)"    limit=0    strdate=`date "+%Y-%m-%d    %H:%M:%S"   `    count1=`who | grep $ip1 | wc -l`    count2=`who | grep $ip2 | wc -l`    count=$[ $count1 + $count2 ]    if [ $count -gt $limit ]    then        echo "$strdate:current users count:$count,exceed limit:$limit" >> /var/log/statiplog    fi    #保存olwatch.sh,/root/cron/olwatch.sh    who    #vim /etc/crontab------>0,15,30,45 * * * * root /root/cron/olwatch.sh    service crond status    chmod u+x /root/cron/olwatch.sh    source /root/cron/olwatch.sh    tail /var/log/statiplog    date    tail /var/log/statiplog    ---------------------------------------------    制定定期备份数据的作业计划:    su root    #!/bin/bash    filelist=`cat ${HOME}/cron/baklist`      #  $HOME:/root    strdate=`date "+%Y%m"`    backupdir=${HOME}/backup${strdate}    if [ ! -e $backupdir ]    then         mkdir $HOME/$backupdir    fi    echo "$strdate:backup start,the directory name is $backupdir" >> /var/log/baklog    for filename in $filelist    do        if [ -e $filename ]         then             cp $filename "$backupdir/"  2 > /dev/null            if [ $? -ne 0 ]            #  $?:表示最后整句之前运行的命令状态是否等于0            #  $?等于0表示上一个命令执行成功 否则执行出错            #  -ne:不等于            then                echo "$strdate:copy for $filename failed" >> /var/log/baklog            fi        fi    done    #cronbackup.sh--->/root/cron/cronbackup.sh保存    vim /root/cron/baklist    #编辑加上:/root/crontab    #编辑加上:/etc/hosts    date    vim /etc/crontab    #--->编辑加上:10 11 3 * * root /root/cron/cronbackup.sh    date    ls -R  /root    cat /var/log/backlog   #查看备份日志

补充:

其他资料:【Linux任务计划crontab】

原创粉丝点击