.Neter玩转Linux系列之五:crontab使用详解和Linux的进程管理以及网络状态监控
一、crontab使用详解
- 概述:任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
(1)系统工作:有些重要的工作必须周而 复始地执行。
(2)个别用户工作:个别用户可能希望执 行某些程序。
使用场景:数据库的备份问题,要么手动备份,而且不能白天备份。一般备份数据库的时候往往需要把数据库关闭,因为一遍备份,一遍写的时候很容易造成数据库的备份,热备份MySQL也支持,但一般使用冷备份。这时就需要使用任务调度。
在不使用crontab时,我想把当前的时间存储到一个文件中该如何做?

是不是很简单,好了,在讲解如何使用crontab时,我们先来看看张图(感谢这位前辈的图示),因为这张图可以搞定一切:


如果想深入了解的话,可以参考这位前辈的文章:http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html
- 如何使用crontab(调度一个任务)
(1)设置任务:crontab -e


遇到这个问题不要慌,这个问题我找了很多解决方案都不行,最后还是老外的一篇文章解救了我。首先执行下面的命令:

选择好crontab的编辑器(这里我选3)回车即可。再输入一下命令:

如果出现这个界面上面已经成功了!

操作和vi编辑器一样,输入下面的命令:每分钟记录下当前时间,并写入到mydate2文件中。

写完之后输入:wq即可保存,如果出现下面的信息,上面调度任务已经起作用了:

如果想查看root用户有哪些调度任务,可以使用:crontab -u root -l进行查看。

(2)每隔一定时间(每分钟)去执行 date > /home/gz/mydate (这个命令前面已经讲过了,如果忘了回去复习一下)

好了,大家可以尝试一下,如果遇到问题,可以在评论区提出来,我帮你看看。
注意:crontab中是没办法精确到秒的,只能精确到分钟。
- 调度多个任务
1)在crontab -e 中直接写.(不推荐)
大家可以试试,我在这里就不试了。
2)可以把所有的任务,写入到一个可执行文件(shell编程)(推荐)
首先编写:mytask.sh(注意:shell编程的文件后缀为 .sh)

大家发现没有:这个文件是没有可执行的权限的,忘了到前面复习一下,所以接下来我们要改变该文件的权限。

然后编写:crontab


保存并退出:

意思是:每分钟都会执行该shell脚本里面的命令。
检测:是否mydate3在root目录下面。



- 如何终止任务
命令:conrtab –r:终止任务调度。(建议小心使用,最好是注释掉)
好了,crontab讲到这里就完了,希望对你有帮助,进入下一个主题的讲解。
二、Linux的进程管理
(1)概述:
进程:进程就是正在执行的程序
线程:(1)轻量级的进程。(2)进程有独立的地址空间,线程没有。(3)线程不能独立存在,它是由进程创建.(fork) Thread。(4)相对讲,线程耗费的cpu,和内存小于进程。
(2)在LINUX中,每个执行的程序都称为一个进程。每一个 进程都分配一个ID号;每个进程都可能以两种方式存在的。前台与后台,所 谓前台进程就是用户目前的屏幕上可以进行操作的。 后台进程则是实际在操作,但由于屏幕上无法看到的进程, 通常使用后台方式执行;一般系统的服务都是以后台进程的方式存在,而且都会 常驻在系统中。直到关机才才结束。
如何查看目前系统中,有哪些正在执行,以及它 们执行的状况?
命令:ps -aux | more

解释:user:进程的名字;PID:进程的ID; %CPU:进程占用的CPU;%MEM:进程占用的内存;VSZ:虚拟内存;
RSS:物理内存;中PID为1的是所有进程的父进程。
如何终止进程:若是某个进程执行一半需要停止时,或是已消了很大的系 统资源时,此时可以考虑停止该进程。使用kill命令来完 成此项任务。
命令:kill 3051(这个命令有点温柔,不一定能杀死该进程(bash))
如果要强制杀死,可以用:kill -9 3051 (尝试一下是不是有点被踢出群的感觉(#^.^#))
补充:
kill -9 3051 :因为有些进程会捕捉某 些信号,如果直接不能结束进程可以用“-9” 传送信息。
killall:会杀掉该进程下面的所有的子进程。
三、Linux的进程状态监控
概述:top与ps命令很相似。它们都用来显示正在执行的进程。 Top与ps最大的不同之处,在于top在执行一段时间可以 更新正在运行的的进程。
命令:top


如果想退出来:按下:q 或者ctrl+c
命令:top -d 10:指定系统更新进程的时间为10秒
命令:指定监控某一些用户
top:输入此命令,按回车键,查看执行的进程。再输入小u:然后输入“u”回车,再输入用户名,即可。

意思是:我要监控gz用户。

命令:终止对应的进程
top:输入此命令,按回车键,查看执行的进程。k:然后输入“k”回车,再输入要结束的进程ID号。

四、Linux监控网络状态
概述:可以通过这个命令可以监控那些IP链接到Linux上,如果是非法用户的话,就可以把这些IP封杀掉。
使用:显示网络统计信息的命令netstat,此命令用来显示整个系统目前的网络情况。例如目前 的连接、数据包传递数据、或是路由表内容。此命令直 接输入即可使用。
命令:netstat -an | more

命令:netstat -anp | more 显示对应的进程ID

显示数据包经过历程命令:route

命令:traceroute
先安装一下:sudo apt-get traceroute

Windows中可以使用:tracert www.baidu.com
五、设置系统时间
(1)显示系统时间
命令:date

(2)设置时间
命令:date MMDDHHMMCCYY.SS:意思是指:月月日日时时分分年 年年年.秒秒。
我就不演示了。
(3)查看月历


好了,今天就讲到这里,晚上继续更新最后一篇,觉得可以的话,希望点下推荐哈~你们的推荐是我的动力。
作者:郭峥
出处:http://www.cnblogs.com/runningsmallguo/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
.Neter玩转Linux系列之五:crontab使用详解和Linux的进程管理以及网络状态监控的更多相关文章
- Linux计划任务Crontab实例详解教程
说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...
- Linux 定时任务命令Crontab参数详解
http://xshell.net/linux/crontab.html 实战: * */1 * * * /usr/local/etc/rc.d/lighttpd restart 每一小时重启 ...
- Linux计划任务crontab设置详解
crontab文件的格式: minute hour day month weekday username command minute:分,值为0-59 hour:小时,值为1-23 day:天,值为 ...
- Linux- Linux自带定时调度Crontab使用详解
Linux自带定时调度Crontab使用详解 在Linux当中,有一个自带的任务调度功能crontab,它是针对每个用户,每个用户都可以调度自己的任务. 示例:每分钟执行一次,将时间写入到指定文件当中 ...
- linux系统的任务计划crontab使用详解
linux系统的任务计划crontab使用详解 其实大部分系统管理工作都是通过定期自动执行某一个脚本来完成的,那么如何定期执行某一个脚本呢?这就要借助linux的cron功能了. 关于cron任务计划 ...
- Linux crontab 命令详解
在 Linux 中,任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行.红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新.譬如,被 locat ...
- Linux crontab 命令详解(含配置文件路径)
编辑/etc/crontab 文件配置cron cron 服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服 ...
- Linux定时任务Crontab命令详解
linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, 由于使用者自己也可以设置计划任务,所以, ...
- 【转帖】Linux定时任务Crontab命令详解
Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...
随机推荐
- Java 高级特性: Lambda 表达式
本文源代码上传到了码云,请点击 LambdaExpression 获取.Lambda 表达式是 java 8 的新特性,本文讲解了 lambda 表达式的所有知识.内容涉及到 lambda 表达式是什 ...
- 关于mysql的Fetch Time 和 Duration Time
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt411 Stackowerflow 上关于这两个时间有人这样解释 Fetch ...
- python 求解线性方程组
Python线性方程组求解 求解线性方程组比较简单,只需要用到一个函数(scipy.linalg.solve)就可以了.比如我们要求以下方程的解,这是一个非齐次线性方程组: 3x_1 + x_2 - ...
- Spring Boot + Dubbo 可运行的例子源码-实现服务注册和远程调用
最近公司的一个分布式系统想要尝试迁移到Dubbo,项目本身是Spring Boot的,经过一些努力,最终也算是搭建起一个基础的框架了,放到这里记录一下.需要依赖一个外部的zookeeper. 源码地址 ...
- 查看numpy.ndarray的数据类型
使用ndarray数据时,如果希望知道数据的类型和维数,可以按照以下方法: Xxx.dtype #xxx表示一个ndarray类型的变量,返回ndarray的数据类型 Xxx.shape #xxx ...
- 操作系统:ucore的部分Bug&挑战练习
ucore是清华大学提供的一个学习操作系统的平台.ucore有完整的mooc视频与说明文档. https://objectkuan.gitbooks.io/ucore-docs/content/# 本 ...
- mysql时间戳的获取
时间戳函数:current_timestamp() 在此位置添加时间戳函数. 然后整体的写法就是下图这样: 根据当前时间戳更新有没有打钩将决定你的时间是什么时间(一个是数据完成写入的时间,一个时间戳回 ...
- 201521123064 《Java程序设计》第7周学习总结
1. 本章学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 参考资料: XMind 2. 书面作业 Q1:ArrayList代码分析 1.1 解释ArrayList的contains源 ...
- 201521123044 《Java程序设计》第01周学习总结
1.本章学习总结 你对于本章知识的学习总结 1.了解了Java的发展史. 2.学习了什么是JVM,区分JRE与JDK,下载JDK. 3.从C语言的.c 到C++的 .cpp再到Java的.java,每 ...
- 201521123052《Java程序设计》第1周学习总结
1. 本周学习总结 1.认识Java,了解JVM.JRE与JDK,并下载与安装JDK: 2.设置好eclipse并使用eclipse完成简单的Java编程: 3.使用博客.码云与PTA,这些对Java ...