linux下编写一个shell脚本,每天0点,定时执行某一可执行程序test。刚学习shell希望大侠们给个代码参考?
创建一个新的crontab文件
向cron进程提交一个crontab文件之前,首先要设置环境变量EDITOR。编辑$HOME目录下的. profile文件,在其中加入这样一行:
EDITOR=vi; export EDITOR
然后保存并退出。创建一个名为testcron的文件,内容如下:
#run test.sh every half day
* 0,12 * * * /home/username/test.sh
保存并退出。然后提交这个任务:
$ crontab testcron
Linux下crontab定时任务自动化的实现?
1、 crontab命令概念crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。cron 系统调度进程。 可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。
cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。
crontab命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。
系统管理员可以通过cron.deny 和 cron.allow 这两个文件来禁止或允许用户拥有自己的crontab文件。
2、检查是否安装了crontab,如果提示未安装请自行安装,crontab安装包在系统光盘里面的pacekage文件夹 相对应的crontab安装包。
3、 crontab服务启动与关闭。
4、 全局配置文件:crontab在/etc目录下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五个目录和crontab,cron.deny二个文件。
cron.daily是每天执行一次的jobcron.weekly是每个星期执行一次的jobcron.monthly是每月执行一次的jobcron.hourly是每个小时执行一次的jobcron.d是系统自动定期需要做的任务crontab是设定定时任务执行文件cron.deny文件就是用于控制不让哪些用户使用Crontab的功能5、 用户配置文件:每个用户都有自己的cron配置文件,通过crontab -e 就可以编辑,一般情况下我们编辑好用户的cron配置文件保存退出后,系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名.linux的cron服务是每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的内容.6、 crontab文件格式:* * * * * commandminute hour day month week command分 时 天 月 星期 命令minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。7、 特殊字符:星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”。
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”。
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。8、在home目录下编写一个test.sh脚本,脚本功能是把/home下ifcfg-eth0这个文本复制到/mnt目录下。
9、运行crontab –e 编写一条定时任务 */5 * * * * /home/test.sh 在每5分钟执行一次test.sh脚本。
10、查询当前用户定时任务或删除当前用户定时任务。11、设置crond开机自动启动。12、实例:
linux自动执行命令怎样设置?
linux 自动执行命令的设置:把需要执行的命令写在 /etc/rc.local文件中
1、#sudo vim /etc/rc.local
2、按i键,进入编辑模式
3、输入命令
4、wq保存退出。
linux定时任务原理?
Linux定时任务实现原理
Linux系统定时任务(crond)一:定义crond是Linux系统中用来定期执行命令或指定程序任务的一种服务或软件1、linux系统自身定期执行的任务(轮询系统日志、备份数据等)2、用户执行的任务(定时更新同步时间、网站数据备份等)二:命令语法定时任务的命令是crontab,其守护…
如何写一个linux的定时程序脚本?(代码)?
概述
linux用到定时任务需要crontab的帮助
首先终端键入:crontab -e
root@sys #:crontab -e
然后进行编辑,这里操作和vim操作一至
假设,我需要定时每秒访问一次指定网页,访问网页的脚本已经写好了,叫view.sh,放在了/user目录下,那么定时脚本将需要这么些。
*/1 * * * * /bin/sh /user/view.sh
解析
crontab
参数:
-u: 只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度;
-e: 编辑crontab 的工作内容;
-l: 查阅crontab的工作内容;
-r: 删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。
crontab -e 进入编辑模式 #此时会进入vi的编辑界面让你编辑工作。注意到,每项工作都是一行。
*/1 * * * * /bin/sh /user/view.sh#分 时 日 月 周 |=========命令行===|
代表意义 分钟 小时 日期 月份 周 命令
数字范围 0~59 0~23 1~31 1~12 0~7 就命令啊
特殊字符 – 代表意义
*(星号) — 代表任何时刻都接受的意思。举例来说,范例一内那个日、月、周都是*,就代表着不论何月、何日的礼拜几的12:00都执行后续命令的意思。
,(逗号) — 代表分隔时段的意思。举例来说,如果要执行的工作是3:00与6:00时,就会是:
0 3,6 * * * command
时间还是有五列,不过第二列是 3,6 ,代表3与6都适用
-(减号) — 代表一段时间范围内,举例来说,8点到12点之间的每小时的20分都进行一项工作:
20 8-12 * * * command
仔细看到第二列变成8-12.代表 8,9,10,11,12 都适用的意思
/n(斜线) — 那个n代表数字,即是每隔n单位间隔的意思,例如每五分钟进行一次,则:
*/5 * * * * command
用*与/5来搭配,也可以写成0-59/5,意思相同
拓展内容
linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。