linuxt笔记2
linuxt笔记2
2011年06月13日
每一行任务配置记录,都包括6个数据字段,如表6-1,分别表示不同含义
分 时 日 月 周
除了可以使用*,- ,/
减号:如,1-4
逗号:“,”可以表示一个间隔不连续范围,如“3,4,6,8”
斜杠符号“/”可以用来指定间隔频率,如在日期字段中的“*/3”表示每隔3天
下面将通过几个实例展示crontab计划任务的配置、查看和删除等管理操作。
例如:由root用户设置一份crontab计划任务列表,完成如下任务
每天早7:50 自动开启sshd服务,22点50时关闭ssd服务。
每隔五天清空一次ftp服务器公共目录“/var/ftp/pub”中的数据
每周六的7:30时重新启动系统中的httpd服务
每周一、周三、迥五的下午17:30时,使用tar命令自动备份“/etc/httpd”
[root@localhost ~]#crontab -e
50 7 * * * /sbin/service sshd start
50 22 * * * /sbin/service sshd stop
0 * */5 * * /bin/rm- rf /var/ftp/pub/*
30 7 * * 6 /sbin/service httpd restart
30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd
例:为jerry 用户设置计划任务,在每周日晚上的23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存存为“pwd.txt”
[root@localhost ~]#crontab -e -u jerry
55 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt
因各计划任务在执行时并不需要用户登录,所以在任务配置记录中的命令使用绝对路径,以避免因缺少执行路径而无法执行
命令的情况。另外,在设置非每每分钏都执行的任务时,“分钟字段也应该填写一个具体的时间数值,而不要保留为默认的
*,否则将会在每分钟执行一次计划任务。
查看,用户的计划任务列表
[root@localhost ~]#crontab -l
50 7 * * * /sbin/service sshd start
50 22 * * * /sbin/service sshd stop
0 * */5 * * /bin/rm -rf /var/ftp/pub/*
30 7 * * 6 /sbin/service httpd restart
30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd
确认jerry用户的计划任务列表内容
[root@localhost ~]#crontab -l -u jerry
55 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt
[root@localhost ~]#ls -l /var/spool/cron/jerry
-rw------ 1 root root 56 05-18 16:39 /var/spool/cron/jerry
3)删除用户的计划任务列表
例,使用jerry用户登录后,查看并删除自己的计划任务列表
[jerry@localhost ~]$crontab -l
55 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt
[jerry@localhost ~]$crontab -r
[jerry@localhost ~]$crontab -l
no crontab for jerry
在设置用户的crontab计划任务的过程中,由于每一条记录只能运行一行命令,难以完成更复杂的系统管理任务操作
,因此在实际工作中,当需要按照同一周期运行多项任务时,通常会将相关命令操作编写成脚本文件,然后在计划
任务配置中加载该脚本并执行。从下一章开始将会学习shell管理脚本的编写。
第七章SHELL命令
学完本章内容,学员将能够解决以下问题
1,公司某员工辞职后,在linux服务器中留下了此员工创建的大量无用 文件,如何快速准确地删除这些文件
2,由于服务器空间有限,公司规定文件服务器上完全共享文件夹每周五下班前定期删除清空。如何编写shell脚本来
解决问题?
3,如何编写shell脚本实现定期归档压缩指定文件夹。
英语:
1,script:脚本,手稿
2,express:表这式。
3,export:输出,导出
4,read:读取,阅读
5,echo:回声,回显
6,alias:别名,绰号
7,cut:切割,切分
8,bash:猛击,这里指一种shell
9,bourne:小溪,目的地。
10,history:历史
11,utility:有效,功用
12,awk:笨拙的,棘手的
13,source:源,来源。
本章重点:重定向和管道的应用。
shell变量的应用
shell脚本的编写和执行
本章难点:shell变量作用范围
有bsh,csh,ksh,zsh,bash
查看当前linux系统中能够使用shell程序的列表
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
确认shell程序中存须的部分链接文件
;
[root@localhost ~]#ls -l /bin/*sh
临时切换至新的shell环境
直接输入其他shell程序的名称,即可切换到新的shell环境,新运行的shell程序作为当前shell程序的子进程
返回,exit, or ctrl+D
例: [root@localhost ~]#ksh
#help cd
例如:使用teacher用户登录系统,并将自己的登录shell更改为tcsh.
[teacher@localhost ~]$grep "teacher" /etc/passwd
teacher:x:500:500:teacher:/home/teacher:/bin/bash
[teacher@localhost ~]$chsh
changing shell for teacher
password
new shell [/bin/bash]: /bin/tcsh
shell changed
[teacher@localhost ~]$grep teacher /etc/passwd
teacher:x:500:500:teacher:/home/teacher:/bin/tcsh
使用chsh命令设置了新的登录shell后,新的登录shell,将在该用户下一次登录系统时生效。
3,由管理员(root)更改其他用户的登录shell
root用户可以通过直接修改“/etc/passwd”文件的方式来改变用户的登录shell,也可以使用usermod命令进行更改
例:由root用户使用usermod命令将teacher用户的登录shell重新修改为“/bin/bash”
[root@localhost ~]#usermod -s /bin/bash teacher
[root@localhost ~]#grep "teacher" /etc/passwd
bash常用功能
历史记录命令
[root@localhost ~]#which fdisk
/sbin/fdisk
[root@localhost ~]#pwd
/ro