一、cron和crontab
1.crontab
下面是crontab的格式:
分< >时< >日< >月< >星期< >要运行的命令,其中< >表示空格。
crontab文件的一个条目是从左边读起的,第一列是分,最后一列是要运行的命令,它位于星期的后面。在这些域中,可以用横杠-来表示一个时间范围,例如你希望星期一至星期五运行某个作业,那么可以在星期域使用1- 5来表示。还可以在这些域中使用逗号“,”,例如你希望星期一和星期四运行某个作业,只需要使用1 , 4来表示。可以用星号*来表示连续的时间段。如果你对某个表示时间的域没有特别的限定,也应该在该域填入*。该文件的每一个条目必须含有5个时间域,而且每个域之间要用空格分隔。该文件中所有的注释行要在行首用#来表示。
例子:
30 21* * * /apps/bin/cleanup.sh #每晚的21:30运行/apps/bin目录下的cleanup.sh
10 1 * * 6,0 /bin/find -name "core" -exec rm {} \; #示每周六、周日的1:10运行一个find命令
0,30 18-23 * * * /apps/bin/dbcheck.sh #每天18:00至23:00之间每隔30分钟运行/app/bin目录下的dbcheck.sh
当使用crontab运行shell脚本时,要由用户来给出脚本的绝对路径,设置相应的环境变量。记住,既然是用户向cron提交了这些作业,就要向cron提供所需的全部环境。不要假定cron知道所需要的特殊环境,它其实并不知道。所以你要保证在shell脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。
创建一个名为<user>cron文件(例如jungecron),输入crontab代码
$ crontab jungecron #同时,新创建文件的一个副本已经被放在/var/spool/cron目录中,文件名就是用户名
查看crontab文件:crontab -l
修改crontab文件:crontab -e(要添加EDITOR变量:编辑$HOME目录下的.profile文件,添加EDITOR=vi; export EDITOR)
删除crontab文件:crontab -r
二、at命令
1.根用户可以通过/etc目录下的at.allow和at.deny文件来控制哪些用户可以使用at命令,哪些用户不行。
2.at命令的基本形式为:
at [-f script] [-m -l -r] [time] [date]
其中,
-f script 是所要提交的脚本或命令。
-l 列出当前所有等待运行的作业。atq命令具有相同的作用。
-r 清除作业。为了清除某个作业,还要提供相应的作业标识(ID);有些UNIX变体只接受atrm作为清除命令。
-m 作业完成后给用户发邮件。
time at命令的时间格式非常灵活;可以是H、HH.HHMM、HH:MM或H:M,其中H和M分别是小时和分钟。还可以使用a.m.或p.m.。
date 日期格式可以是月份数或日期数,而且at命令还能够识别诸如today、tomorrow这样的词。
3.使用at命令提交命令或脚本
1)如果你想提交若干行的命令,可以在at命令后面跟上日期/时间并回车。然后就进入了at命令提示符,这时只需逐条输入相应的命令,然后按‘<CRL-D>’退出。例子:
$at 21:10
at> find / -name "passwd" -print
at><EOT>
2)提交脚本
at 3.00pm tomorrow -f /apps/bin/db_table.sh
3)使用echo命令向at命令提交作业
echo find /etc -name "passwd" -print | at now +1 minute
4)查看作业:at -l
5)清除作业:atrm [job no]或者 at -r [job no]
三、&命令
运行一个find命令,查找名为“srm.conf的文件,并把所有标准输出和错误输出重定向到一个叫作find.dt的文件中:
find /etc -name "srm.conf" -print >find.dt 2>&1 &
查看进程:
ps x | grep 28305 或者 ps -ef |grep 28305
四、nohup命令
如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思(nohang up)。
该命令的一般形式为:
nohup command &
分享到:
相关推荐
在Linux操作系统的学习中,掌握命令行的使用是至关重要的。...总的来说,Linux学习笔记是一个全面了解和掌握Linux系统操作的基础教程,涵盖了从基本命令到高级管理的诸多方面,对提升Linux技能有很大帮助。
【Linux学习笔记】这篇超全总结涵盖了Linux操作系统的基础知识,特别是关于命令行的使用和快捷键,以及一些桌面环境下的快捷操作。以下是笔记中的主要内容: 1. **LINUX常用操作命令**: - `clear`:清空终端屏幕...
Linux学习笔记二 - Liunx命令(基础篇) 本篇学习笔记主要集中于 Linux 命令的基础知识,涵盖了从基本命令到高级命令的使用方法。通过本篇学习笔记,读者可以快速找到自己想要查询的指令功能与相关用语说明,并且...
在Linux学习过程中,了解操作系统的核心结构以及主要目录的用途至关重要。Linux系统采用的是层次化的目录结构,这使得系统管理更为有序。以下是对标题和描述中涉及的一些关键知识点的详细解释: 1. **根目录** `/`...
"Linux常用命令大全vaWeb-m笔记"很显然是一个关于Linux命令的学习资料,可能包含了丰富的命令使用示例和解释。在这个压缩包中,虽然没有直接提供文件内容,但我们可以根据常见的Linux命令类别进行详细讲解。 1. **...
【Linux学习笔记】 在Linux操作系统中,掌握常用命令和快捷键是提高效率的关键。下面将详细介绍这些内容: 1. **命令行快捷键** - `Ctrl + a/Home`: 将光标移动到命令行的开始。 - `Ctrl + e/End`: 将光标移动到...
这篇学习笔记主要涵盖了Linux的命令行操作、终端快捷键以及一些特定的系统操作。以下是对这些知识点的详细解释: 1. **命令行编辑快捷键**: - `Ctrl + a`: 将光标移动到命令行的开头。 - `Ctrl + e`: 将光标移动...
Linux学习笔记——入门资料 Linux,作为一款开源、免费的操作系统,因其稳定性和安全性而备受开发者和系统管理员的青睐。这份“Linux学习笔记”旨在帮助初学者快速掌握Linux的基础知识和操作技能,从而轻松入门。 ...
本文将围绕“Linux定时执行脚本学习笔记”这一主题,结合提供的文件,深入探讨如何在Linux环境下设置自动执行脚本,以及涉及的相关知识。 首先,我们来看“Ubuntu定时执行脚本.docx”和“linux下定时执行脚本.docx...
【Linux学习笔记】这篇文档是针对Linux初学者和运维人员的全面学习资料,涵盖了大量实用的Linux命令和操作技巧。以下是一些主要知识点的详细解释: 1. **常用命令**: - `clear`: 清除终端屏幕内容。 - `history`...
这份“Linux学习笔记.doc”文档可能会详细讲解以上各点,对于初学者来说是一份非常实用的学习资料。通过深入学习,你可以掌握Linux操作系统的核心技能,为后续的系统管理、开发或运维工作打下坚实基础。
这篇Linux学习笔记主要涵盖了在Linux环境中的一些基本操作和快捷键,对于初学者来说是非常有价值的资源。 首先,笔记介绍了Linux命令行的基本操作,这对于日常的系统管理和问题排查至关重要。例如,`Ctrl + a` 和 `...
这篇文档是一个关于Linux的详细学习笔记,涵盖了Linux中常用命令、终端快捷键、系统操作快捷键、文件管理快捷键、关机和重启命令以及grep和管道符的使用方法。下面将对这些知识点进行详细介绍。 首先,文档介绍了在...
【Linux学习笔记】 在Linux操作系统的学习中,Redhat和CentOS是两个常见的发行版,尤其适合初学者入门。本文将围绕这两个系统展开,讲解Linux的基本操作和常用命令,旨在帮助初学者快速掌握Linux基础。 一、常用...
### Linux学习笔记知识点详解 #### 一、命令行基础知识 **1. 命令行结构** 在Linux中,命令行的基本结构为 `command[-options][-argument]`。这里的 `command` 是指实际要执行的命令,而 `-options` 和 `-...
本篇笔记主要针对Linux服务器中的常用命令及用法进行了详尽的总结,旨在帮助初学者快速上手,并为有一定经验的用户提供参考。 1. **基础命令** - `ls`:列出目录内容,通过`-l`选项可显示详细信息。 - `cd`:切换...
【Linux全方位学习笔记】 在IT行业中,掌握Linux操作系统是一项重要的技能,这不仅因为Linux在服务器领域占据主导地位,还因为它提供了高效的工作环境和强大的命令行工具。本篇笔记将深入探讨Linux常用命令以及相关...
### Linux命令使用笔记 #### 一、远程登录与文件管理 - **Cmd+R:mstsc远程登录** - Windows系统中使用快捷键`Cmd+R`打开运行对话框,输入`mstsc`可以启动远程桌面连接工具,用于远程访问Linux服务器或其他计算机...