crontab命令进行任务调度,自动执行一些脚本,完成特定任务。
如,启动app,日志拷贝等
每个用户都有自己的调度crontab
vi /etc/crontab
crontab的初始内容:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=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
* * * * * 用户名 可执行命令
* 分别代表 “分钟(0~59)、小时(0~23)、日期(1~31)、月份(1~12)、星期(0~6)”
例如:
* * * * * #表示每分钟执行1次任务
1 * * * * #表示当每小时的第1分钟时执行1次任务
2 12 * * * #表示每天的12点第2分时执行1次任务(每天12:02)
0-59/2 * * * * #表示每2分钟执行1次任务
实例一
1、在下午4:50删除abc目录下全部子目录和文件
2、从早8:00到下午6:00每小时读取/xyz目录下x1文件中每行第1个域的全部数据到/backup目录下的bak01.txt文件内
3、每个星期一下午5:50将/data目录下所有目录和文件归档压缩为文件backup.tar.gz
4、在下午5:55将IDE接口的CD-ROM卸载(假设CD-ROM的设备名为hdc)
5、在早晨8:00前开机后启动
可以在/etc/crontab文件中加入以下命令:
50 16 * * * rm -rf /abc/*
* 8-18/1 * * * cut -f1 /xyz/x1 >;>; /backup/bak01.txt
50 17 * * * tar czvf backup.tar.gz /data
55 17 * * * unmount /dev/hdc
第5点,需要在8:00前开机,之后Shell自动运行crontab
实例二
系统管理员在每月第1天备份并压缩/var目录的所有内容
存放在/root/bak目录中
且文件名形式为yymmdd_var
其中,yy为年,mm为月,dd为日
因此,可以编写1个脚本完成备份功能,然后在crontab设置每天执行该脚本来达到目的
备份文件的脚本命名为planback.sh
#!/bin/bash
DIRNAME=`ls /root | grep bak` #获取 /root/bak 字符串
if [ -z "$DIRNAME" ]; then #如果 /root/bak 不存在,则创建
mkdir /root/bak
cd /root/bak
fi
#获取年、月、日
YY=`date +%y`
MM=`date +%m`
DD=`date +%d`
BACKVAR=$YY$MM$DD_var.tar.gz #设置备份文件的名称
tar -zcvf $BACKVAR /var #将/var目录进行打包并压缩
echo "/var backup finished!"
然后,在crontab中配置脚本执行时间
0 1 * * * /bin/bash /usr/bin/planback.sh #每天凌晨1点执行planback.sh脚本
========================================================================
当Linux用户登录时,Shell会自动执行.bash_profile文件
而.bash_profile文件会调用.bashrc脚本,因此,在.bashrc中调用我们自己写的脚本即可让某些脚本在用户登录后自动得到执行。如,Shell会自动配置当前用户的PATH环境变量。
但是,要想执行定时任务,还得靠crontab来完成!
.bash_profile
#!/bin/bash
if [ -f ~/.bashrc ]; then
. ~/.bashrc #执行宿主目录下的bashrc脚本
fi
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
.bashrc
# .bashrc
alias rm="rm -i"
alias cp="cp -i"
alias mv="mv -i"
if [ -f /etc/bashrc ]; then
. /etc/bashrc #执行/etc/bashrc脚本
fi
相关推荐
- **Linux定时任务**:学会使用crontab等工具实现任务调度。 - **用户管理**:掌握用户账户的创建、删除、修改权限等操作。 - **磁盘与文件系统**:了解Linux下的磁盘管理和文件系统类型。 - **sed命令**:学习使用...
crontab是一个Unix系统中的任务调度命令,用于设置周期性被执行的任务。它允许用户按照时间间隔定义任务,比如定时运行脚本、备份数据或执行系统维护等。crontab文件由一系列的规则组成,每个规则包含时间字段和要...
总的来说,《Linux私房菜基础学习篇(第三版)》为读者提供了一个全面的Linux基础知识体系,从基础命令的使用到系统的深入配置,再到用户权限管理和系统安全设置,本书均有详细覆盖。对于希望学习Linux操作系统的...
第十五章讨论了例行性工作调度(crontab),使读者能够设置定时任务,自动化日常维护工作。 通过以上内容的学习,读者将具备扎实的Linux基础,能有效管理Linux主机,架设和维护网站,从而达到事半功倍的效果。在...
本篇笔记主要针对Linux服务器中的常用命令及用法进行了详尽的总结,旨在帮助初学者快速上手,并为有一定经验的用户提供参考。 1. **基础命令** - `ls`:列出目录内容,通过`-l`选项可显示详细信息。 - `cd`:切换...
本篇文章将详细解析Linux的基本命令,帮助初学者快速上手。 1. **登录与注销** Linux启动后,用户需要通过`login`命令输入用户名和密码来登录系统。默认的系统管理员账号通常是`root`。登录成功后,系统会显示一个...
本篇文章将详细讲解Linux命令,这些命令是Linux系统中的核心元素,也是用户与操作系统交互的主要方式。我们主要参考的是"linux命令参考大全"这份文档,特别是其中的英文命令参考手册部分。 1. **基础命令** - `ls`...
14. **Crontab详解**:介绍了Linux的任务调度工具Crontab,如何设置定时任务。 15. **进程管理**:讲解了如何查看和控制Linux系统中的进程,包括进程状态和调度。 16. **Top详解与网络监控**:深入解析了`top`命令...
标题“鸟个的linux私房菜”和描述表明了本文档旨在为初学者提供Linux基础知识和学习资源。Linux是开源操作系统的核心,其哲学基于Unix,由林纳斯·托瓦兹于1991年首次发布,历经多年发展已成为最广泛使用的操作系统...
《Linux私房菜第三版》是一本面向Linux初学者的实用教材,它涵盖了Linux操作系统的基本命令和基础知识,适合于希望打下坚实Linux操作基础的读者。本书在编写过程中注重内容的实用性和易读性,通过各种实例和速查表...
【Linux指令篇】是针对操作系统Linux的一系列基础和高级命令的详细介绍,这些指令在软件开发中扮演着至关重要的角色,因为它们是Linux系统的基石,帮助用户有效地管理和操作系统。以下是一些关键指令的概述: **DOS...
7. **进程管理和任务调度**:掌握`ps`、`kill`、`nohup`等命令来管理和控制进程,以及如何使用`crontab`进行定时任务设置。 8. **系统日志和故障排查**:理解`dmesg`、`/var/log`目录下的日志文件,以及如何利用...
9. **进程管理和任务调度**:了解`ps`, `top`, `kill`等命令用于监控和控制进程,以及如何使用`crontab`设置定期任务。 10. **系统日志和故障排查**:学习查看和分析系统日志(如`/var/log`下的日志文件),并利用...
本篇文档主要涵盖了Linux系统的基本使用、安装、配置以及一些常用命令和工具的使用。 1. **系统安装**: Linux系统的安装通常需要多张光盘或者一个ISO镜像文件。在旧的安装方式中,可能会使用三张光盘来完成整个...
3. **后台操作**:`crontab`用于设置定时任务,`at`则用于一次性调度未来某个时间执行的任务。`&`用于将命令放到后台执行,`nohup`确保命令在用户退出终端后继续运行。 4. **输入/输出**:`echo`用于打印文本,`...
#### 基础学习篇快速索引 本章节提供了Linux命令的快速查找表,帮助初学者快速定位到特定的命令及其使用方法。 ##### 指令与用语速查表 1. **ACL(Access Control List)**:位于第十四章第3.1节。ACL用于扩展...
- **Crontab使用心得**:分享了在Linux环境下如何有效利用定时任务调度工具Crontab。 - **Shell学习笔记——总括篇**:总结了Shell脚本的基础知识和进阶技巧。 - **25个必须记住的SSH命令**:列举了运维工作中常用的...