【LINUX学习】例行命令的建立

例行命令就是那些需要定期执行的命令或者某个脚本。在linux中一般使用at 和contable服务来实现。

下面就简要的介绍一下两个的大概使用方法

at :此服务仅仅执行一次,之后就从linux中取消

先查看一下at服务的状态

[root@localhost test]# service atd status

atd (pid 2222) 正在运行...

停止服务

[root@localhost test]# service atd stop

停止 atd:[确定] 

启动服务

[root@localhost test]# service atd start

启动 atd:[确定]

设置开机时自动启动

[root@localhost test]# chkconfig --level 35 atd on

取消开机时自动启动

[root@localhost test]# chkconfig --level 35 atd off

[root@localhost test]# ls

yang.txt

设置2分钟后 删除test目录里面的yang,txt 文件

[root@localhost test]# at now + 2 minutes

at> rm -f yang.txt

at>

job 5 at 2010-11-26 20:10

查询当前主机上有多少的at 服务

[root@localhost test]# atq

5       2010-11-26 20:10 a root --5 代表编号,之前我做了测试。

上面说 在2010-11-26 20:10 有一个定时工作 设置该工作的是root ,编号为5

[root@localhost test]# ls

[root@localhost test]# atq 

过了两分钟以后 查看test 目录和 at服务  ,可以看见yang.txt 文件被删除了,而且at服务也没有了。当然如果设置at 服务错误或者想要撤销,可以执行如下语句:

[root@localhost test]# at now + 4 minutes

at> cp yant^H                    -我设置了一个错误的例子。

at>

job 6 at 2010-11-26 20:17

[root@localhost test]# atq

6       2010-11-26 20:17 a root  --这次编号变为6

[root@localhost test]# atrm 6  --atrm 后面跟 jobnumber  意为删除该工作。

[root@localhost test]# atq  --再次查询 编号为6的 at 服务被删除了。

[root@localhost test]# 

---至此 at 服务的使用方法结束。更多的at ,atq ,atrm 使用方法请参考man。

cron: 此服务将循环进行。

相对于at 一次性执行服务,多次循环工作的工作就由cron这个系统服务来完成的。

linux提供了crontab 命令 来实现 例行工作。

使用者要想使用crontab 的使用者是由一下文件决定 的;

/etc/cron.allow: 

将可以使用cron服务的帐号写入该文件,若不在该文件的使用者则不能使用cron服务 

/etc/cron.deny

将禁止使用cron服务的帐号写入该文件,若不在该文件的使用者则能使用cron服务

当然 如果不存在以上两个文件的话 就只有root用户可以使用cron服务。cron.allow 比cron.deny 优先,一般这两个文件只使用一个就可以了。一般来说系统保留cron.deny 。

下面介绍一下crontab的使用方法:

启动与关闭服务与at 一样,只是服务名称不同罢了。因此,偶将此省略了。

[root@localhost test]# crontab -l  --

no crontab for root

[root@localhost test]# crontab [-u name] [-l|-e|-r]

-bash: -e: command not found

-bash: -r]: command not found

[-u: 没有那个文件或目录

[root@localhost test]# crontab -e

no crontab for root - using an empty one

10 20 26 11 * cp /root/yang.txt /root/test/yang1.txt  --11月26号20点10分 将yang.txt 文件拷贝到 test文件夹中并改为yang1.txt

~

"crontab.XXXX9gx37D" 1L, 53C written

crontab: installing new crontab

[root@localhost test]# crontab -l  --查看使用者当前的crontab 工作。

10 20 26 11 * cp /root/yang.txt /root/test/yang1.txt

系统设置的 /etc/crontab

[root@localhost test]# cat /etc/crontab

SHELL=/bin/bash  

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

MAILTO=root 说明当crontab发生错误时或者有stderr stdout信息时,会将错误的信息传递给谁。系统设置为发送mail给root。管理员可以设置为自己的邮箱

HOME=/

# run-parts

01 * * * * root run-parts /etc/cron.hourly --额每小时

02 4 * * * root run-parts /etc/cron.daily --每天

22 4 * * 0 root run-parts /etc/cron.weekly --每星期

42 4 1 * * root run-parts /etc/cron.monthly --每个月

现在看看刚才设置的crontab服务;

[root@localhost test]# ls

yang1.txt     -成功执行了!

当我们要删除已经设置的服务时;

[root@localhost test]# crontab -l

10 20 26 11 * cp /root/yang.txt /root/test/yang1.txt

[root@localhost test]# crontab -r

[root@localhost test]# crontab -l

no crontab for root

注意:当仅仅只是删除一个任务时 请使用crontab -e 来编辑 crontab -r 是删除所有的任务。

-----------------------------------------EOF------------------------------

时间: 2024-08-01 23:00:48

【LINUX学习】例行命令的建立的相关文章

Linux学习之CentOS(二十九)--Linux网卡高级命令、IP别名及多网卡绑定的方法_Linux

本篇随笔将详细讲解Linux系统的网卡高级命令.IP别名以及Linux下多网卡绑定的知识 一.网卡高级命令 在之前的一篇随笔里Linux学习之CentOS(九)--Linux系统的网络环境配置,详细讲解了Linux系统下的网络环境配置等知识,我们了解了一些关于网络配置的一些基本命令.在这里将补充一些Linux系统下有关网卡的一些高级命令. ①mii-tool 命令 mii-tool命令我们可以用来查看网卡状态信息,包括了以太网连接是否正常,使用的是哪种型号的网卡等等 [root@xiaoluo

【Linux学习 】Linux使用Script命令来记录并回放终端会话

[TOC] 一.背景 在之前的博客 [Git学习-->如何通过Shell脚本实现 监控Gitlab备份整个过程并且通过邮件通知得到备份结果?] 里面,我已经详细记录了每天的自动备份与清理过期备份文件的工作. 1.每天凌晨2点在Gitlab服务器上执行Gitlab备份功能. 2.每天凌晨3点在Gitlab服务器上执行scp命令将最新的Gitlab备份文件复制到远程的文件备份服务器. 3.每天凌晨4点在远程的文件备份服务器上检测备份文件的时间,自动删除超过7天的备份文件. 这个脚本从8月18日开始运

phpmyadmin: linux学习篇-使用apt-get方式安装LAMP包括phpmyadmin

linux学习篇-使用apt-get方式安装LAMP包括phpmyadmin    对于想学linux的朋友来说,在虚拟机上装上linux系统是不二选择.至于哪种linux好用,萝卜白菜,各有所爱.我喜欢ubuntu,虚拟机上安装的是最新的ubuntu11.10    搭建LAMP环境有两种方式可以选择,一是用apt-get方式安装,这个适合初学者.有点是安装简单,不需要做什么配置就可以使用.缺点是自主性太差,安装目录啊啥的都是默认的,不方便自己管理,也不敢轻易的移动位置.二是用编译安装的方法.

Linux下ps命令的10个基本例子

  在Linux下ps命令是用于查看系统上运行的进程的最基本的命令之一.它提供了当前进程的同时,如用户ID,CPU使用率,内存使用率,命令名称等,它不显示实时数据,如top或htop命令的详细信息.但是,即使是功能和输出简单,但它仍然是一个必用的过程管理/监控工具,每一个Linux新手应该知道这一点,好好学习.在这篇文章中,我们将使用ps命令以不同的方式来查看进程.筛选和排序它们,以加强基础部分. 语法注意: ps命令带有2种不一样的风格,分别是BSD和UNIX.新用户经常会混淆和错误地解释这两

linux zip/unzip命令详解_Linux

最近整理了linux zip/unzip命令,具体如下: 命令名: zip 功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目录>][-ll][-n <字 尾字符串>][-t <日 期时间>][-<压 缩效率>][压 缩文件][文件...][-i <范本样式>][-x <范本样式>] 补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具 有".z

Linux中用mount命令安装分区

现在我们要介绍一个在 Linux 中非常重要的命令"mount".这个命令用于将硬盘中的各个分区挂载到根分区的某个文件夹中,也可以称为安装文件系统.有些 Linux 发行版默认是不挂载除根分区之外的其它分区的,比如"RedHat 9".当然有一个被称为"swap"的交换分区例外.也有些 Linux 发行版在系统安装完毕后就可以自动挂载所有 Windows 分区,如"红旗 5.0".在我们学习"mount"命

linux中screen命令的使用方法

总是很容易忘记一些需要的命令,所以暂时把它们贴在这里. screen为多重视窗管理程序.此处所谓的视窗,是指一个全屏幕的文字模式画面.通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序.screen能在一个终端程序执行多个任务,离线执行任务等. 创建会话 执行:screen -S wangheng 创建screen会话. 离开screen 完成终止一个会话可以使用Ctrl-A Ctrl-K 或exit命令结束. 保留会话但关闭窗口可以使用Ctrl-A Ctrl

Linux学习基础教程_unix linux

 Linux学习基础 1.什么是Linux?  准确的说,是指Linux的kernel(系统的核心程序),其内核版权属于Linus Torvalds,在GPL(GNU General Public License)版权协议下发行, 任何人都可以自由的复制(copy), 修改(change), 套装分发(distribute),销售,但是不可以在分发时加入任何限制, 而且所有原码必须是公开的,所以任何人都可以无偿取得所有执行文件和原代码.  对于Linux用户和系统管理员来说,Linux是指包含L

Linux学习指导_unix linux

    学习指导篇 方法是多动手.动脑,学习时要经常与Windows进行对比.建议你先安装RedHat Linux,然后练习如何配置它,如何使用Linux命令,如何在X-WINDOWS下操作,如何在Linux下安装应用软件,如何在Linux下上网.编辑文档.播放多媒体文件.玩游戏等. 快速上手的方法只有一个,那就是多动手操作,看看你能否完成上面的工作.     2.Linux与Windows有哪些异同点? Windows是图形界面的,Linux类似以前的DOS,是文本界面的,如果你运行了图形界面