视频学习day05



20170405 21:58-

cron定时任务

[[email protected] ~]# chkconfig|egrep "sshd|network|sysstat|crond|rsyslog"   #前面提到的crond的地方

crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off

network         0:off   1:off   2:on    3:on    4:on    5:on    6:off

rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off

sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off

sysstat         0:off   1:on    2:on    3:on    4:on    5:on    6:off

程序文件:程序代码组成,但是没有在计算机内执行。当前没有执行。

进程:所谓进程就是计算机中正在执行的程序。

守护进程或守护程序:守护进程就是一直运行的程序。

vi /etc/logrotate.conf 设置日志切割 大小 日期等

vim /etc/logrotate.d/syslog  设置需要记录的日志文件

4、上千服务器可以开发分布式定时任务项目方案。(好一些的企业 可能会使用这种方式  )

crontab  -l list列表  -u 用户 -e edit 编辑  -r remove 删除    -i 确认  -s 和selinux相关

[[email protected] ~]# cat /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# For details see man 4 crontabs

# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  * user-name command to be executed

分时 日月周    用户        命令

实例:

我自己的错误示范:

crontab -e

i

# 00 */2 * * * cp -a /etc/service /tmp/{date +%F-%H-%M-%S}/

:wq

# 00 24 * * * cp  -a /etc/service /tmp/{date +%F-%H-%M-%S}/

tar zcvf 目标文件  源文件          #打包压缩  v显示输出过程

1、命令行搞定:

[[email protected] etc]# tar zcvf /tmp/service_$(date +%F-%H).tar.gz ./service

./service

[[email protected] etc]# ll /tmp/service_2017-04-06-22.tar.gz

-rw-r--r-- 1 root root 114 Apr  6 22:06 /tmp/service_2017-04-06-22.tar.gz

2、定时任务最好用脚本

3、取消默认输出  tar zcf     不要v

4、使用/bin/sh执行脚本

5、定时任务          重定向到空 >/dev/null 2>&1

[[email protected] scripts]# cat tar.sh

cd /etc &&\             # &&\ 这个叫做逻辑符  意思是本行成功了就执行下面的打包命令

tar zcf /tmp/service_$(date +%F-%H).tar.gz ./service

[[email protected] scripts]# /bin/sh /service/scripts/tar.sh  #养成这个好习惯  用/bin/sh 即使文件没有执行权限也能运行

[[email protected] scripts]# ll tar.sh

-rw-r--r-- 1 root root 65 Apr  6 22:19 tar.sh

[[email protected] scripts]# crontab -e

#tar by 20has at 20170406

00 */2 * * * /bin/sh /service/scripts/tar.sh >/dev/null 2>&1

"/tmp/crontab.uipXEM" 2L, 87C written

crontab: installing new crontab

[[email protected] scripts]# crontab -l

#tar by 20has at 20170406

00 */2 * * * /bin/sh /service/scripts/tar.sh >/dev/null 2>&1

[[email protected] scripts]# tailf /var/log/cron         #检查cron日志 看cron是否执行成功

Apr  6 22:13:49 centos crontab[2443]: (root) LIST (root)

Apr  6 22:13:57 centos crontab[2445]: (root) BEGIN EDIT (root)

Apr  6 22:14:07 centos crontab[2445]: (root) END EDIT (root)

Apr  6 22:20:01 centos CROND[2475]: (root) CMD (/usr/lib64/sa/sa1 1 1)

Apr  6 22:20:01 centos crontab[2478]: (root) LIST (root)

Apr  6 22:22:26 centos crontab[2485]: (root) BEGIN EDIT (root)

Apr  6 22:25:16 centos crontab[2485]: (root) REPLACE (root)

Apr  6 22:25:16 centos crontab[2485]: (root) END EDIT (root)

Apr  6 22:25:24 centos crontab[2488]: (root) LIST (root)

Apr  6 22:30:01 centos CROND[2492]: (root) CMD (/usr/lib64/sa/sa1 1 1)

[[email protected] scripts]# mkdir /backup

[[email protected] scripts]# tar zcvf /backup/rc.local_date$(date +%F-%H).tar.gz /etc/rc.local

tar: Removing leading `/‘ from member names

/etc/rc.local

[[email protected] scripts]# vim back.sh

#tar /backup by 20has at 20170406

tar zcvf /backup/rc.local_date$(date +%F-%H).tar.gz /etc/rc.local >/dev/null 2>&1

tar zcvf /backup/hosts_date$(date +%F-%H).tar.gz /etc/hosts >/dev/null 2>&1

tar zcvf /backup/cron_date$(date +%F-%H).tar.gz /var/spool/cron >/dev/null 2>&1

"back.sh" [New] 4L, 272C written

[[email protected] scripts]# /bin/sh /service/scripts/back.sh

[[email protected] scripts]# crontab -e

#tar by 20has at 20170406

00 */2 * * * /bin/sh /service/scripts/tar.sh >/dev/null 2>&1

00 00 * * * /bin/sh /service/scripts/bake.sh >/dev/null 2>&1

30 00 * * * /bin/sh /service/scripts/back.sh >/dev/null 2>&1

#tar by 20has at 20170406

00 */2 * * * /bin/sh /service/scripts/tar.sh >/dev/null 2>&1

00 00 * * * /bin/sh /service/scripts/bake.sh

30 00 * * * /bin/sh /service/scripts/back.sh

[[email protected] scripts]# find /backup/ -type f -name *tar.gz -mtime +3 |xargs rm -f

[[email protected] scripts]# vim back.sh

#tar /backup by 20has at 20170406

tar zcf /backup/rc.local_date$(date +%F-%H).tar.gz /etc/rc.local >/dev/null 2>&1

tar zcf /backup/hosts_date$(date +%F-%H).tar.gz /etc/hosts >/dev/null 2>&1

tar zcf /backup/cron_date$(date +%F-%H).tar.gz /var/spool/cron >/dev/null 2>&1

find /backup/ -type f -name *tar.gz -mtime +3 |xargs rm -f

"back.sh" 5L, 331C written

[[email protected] scripts]# crontab -l

#tar by 20has at 20170406

00 */2 * * * /bin/sh /service/scripts/tar.sh  >/dev/null 2>&1

00 00 * * * /bin/sh /service/scripts/bake.sh

30 00 * * * /bin/sh /service/scripts/back.sh

[[email protected] scripts]# tailf /var/log/cron       #监视cron是否执行

Apr  6 23:01:00 centos crontab[2583]: (root) REPLACE (root)

Apr  6 23:01:00 centos crontab[2583]: (root) END EDIT (root)

Apr  6 23:01:01 centos crond[2176]: (root) RELOAD (/var/spool/cron/root)

Apr  6 23:01:01 centos CROND[2586]: (root) CMD (run-parts /etc/cron.hourly)

Apr  6 23:01:01 centos run-parts(/etc/cron.hourly)[2586]: starting 0anacron

Apr  6 23:01:01 centos anacron[2598]: Anacron started on 2017-04-06

Apr  6 23:01:01 centos anacron[2598]: Jobs will be executed sequentially

Apr  6 23:01:01 centos anacron[2598]: Normal exit (0 jobs run)

Apr  6 23:01:01 centos run-parts(/etc/cron.hourly)[2600]: finished 0anacron

Apr  6 23:05:53 centos crontab[2607]: (root) LIST (root)

老男孩讲解 以上命令存在问题: /etc/rc.local是链接文件   不能直接tar打包文件

可以用tar zcfh   h就是针对链接文件的压缩

学长讲解 tar命令的记忆方法

tar zcvf     目标文件  源文件               压缩成 *.tar.gz文件

一筐苹果:   先选筐(放哪里 目标文件)  再放苹果(源文件、空格间隔可以多个)

解压 tar zxf *.tar.gz  解压文件

date命令应该是仅次于三剑客、find、tar等

vim编辑界面的时候   快捷键:            ^光标回到行首          $光标回到行尾

ntpdate ntp1.aliyun.com  更新时间

学生作图: 关于 cron

8、sh -x  调试脚本



20170407 23:38-

你有没有遇到过 “No space left on device”提示空间不足的问题?  有 遇到过(才能显得你有经验)

比如创建的定时任务由于没有把错误信息等输出的垃圾清空(即没有加 >/dev/null 2>&1)导致inode被很快占用完                          -----刘海林的回答

不记得vim的快捷按键了 得去重新回顾下视频 同时作图记忆快捷键

课后作业:

时间: 2024-10-06 11:20:21

视频学习day05的相关文章

黑 马 程 序 员_视频学习总结<c语言>----03 指针

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.什么是指针? 用来存放变量地址的变量,就称为"指针变量". 二.指针的定义 一般形式:类名标识符  *指针变量名; int *p; float *q; "*"是一个说明符,用来说明这个变量是个指针变量,是不能省略的,但它不属于变量名的一部分 前面的类型标识符表示指针变量所指向的变量的类型,而且只能指向这种类型的

黑 马 程 序 员_视频学习总结<c语言>----02 printf和scanf函数、基本语句和运算、流程控制、函数、数组、字符串

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.printf函数 1.在使用peintf函数前必须加入#include <stdio.h>,使用它可以向标准输出设备(比如屏幕)输出数据,其中使用格式是 printf(“字符串”) :或者 printf(“字符串”, 格式符参数): 2.常用的格式符及其含义如图所示 3.格式符还可以添加输出宽度 二.scanf函数 1.在使用scanf函

韩顺平视频学习笔记-简易qq

1 package myclient; 2 3 import java.net.*; 4 import java.util.Date; 5 import java.text.SimpleDateFormat; 6 import java.awt.event.ActionEvent; 7 import java.awt.event.ActionListener; 8 import java.io.*; 9 import java.awt.*; 10 11 import javax.swing.*;

整理了一些.NET的视频学习资料,希望能够帮助到大家

1.跟我学DNET编程系列-.NET OOP编程[爸爸去哪儿] http://edu.ibeifeng.com/view-index-id-25.html 2.深入webservice专题系列技术讲座 http://edu.ibeifeng.com/view-index-id-169.html 3.跟我学DNET编程系列-CSharp十种语法糖 http://edu.ibeifeng.com/view-index-id-26.html 4.跟我学DNET编程系列-跟我一起学EF5.0 http:

全套视频学习资料教程手册 100G左右solidworks 2013 win32 win64

ESI PAM-RTM 2010.0 Windows & Linux-ISO 2CD ISOVER TechCalc v1.0.2.7 1CD KISSsoft 2013 SP5 1CD Pipe Flow Expert 2013 v6.39.1.1 1CD Simprotek.Symprosys.v3.0 1CD TechCalc v1.0.2.7 1CD Bentley.Maxsurf.(SELECTseries2).V8i.v19.00.01.92.Win32_64 2CD Graeber

私房库视频学习笔记-小清新BBS系统开发技术归纳

自己一直在学习PHP开发,前一段时间在51cto上看到私房库孙胜利老师的视频,下载了他的小清新BBS系统开发视频学习.现在把里面的好的运用收集到这儿. 在看了这套视频后先了解整个web项目开发的过程. 公共配置参数: <?php date_default_timezone_set('Asia/Shanghai');//设置时区session_start();header('Content-type:text/html;charset=utf-8');if(version_compare(PHP_

近期视频学习

最近看视频情况: 董飞给了一些视频,让我好一阵子激动,但过后我想想,一部分或许对我有用,就是数据库,而目前要说接触一下Linux这个操作系统,感觉还是偏难一点,飞牛人就走得很辛苦,现在也不过是对C语言的一些网上搜索和一点想法的简单实现.而对工具的过多体验也使之编程没有深度,更多的只是出于对程序的尝试和认识. 现在情况是:day07我没有看完呢,看的过程中发现了一些问题: 不需要琢磨太细,以习题为主线,尽量少去打断主线思路 近期视频学习,布布扣,bubuko.com

视频学习_css基础学习

块状元素 block element 容器元素  设置高宽 width height  可以容纳 文本 内脸 和其他块状 霸道  独占一行 特例:form  只容纳 块状元素 常见元素 http://www.w3cfuns.com/portal.php?mod=topic&quickforward=1&topicid=21 内联元素  inline element 非块状元素 不独占一行 只容纳文本  和内联 常见的 有a 相当与气球 内容越多越大 内联元素不能包含块状元素  气球不能装盒

黑 马 程 序 员_视频学习总结&lt;c语言&gt;----01 关键字、标识符、注释、 常量、变量

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.关键字 1.关键字就是C语言提供的有特殊含义的符号,有些地方也叫做“保留字”. 2.C语言一共提供了32个关键字,这些关键字都被C语言赋予了特殊含义. auto double int struct break else long switch case enum register typedef char extern return uni