淡定从容,宁静致远
全部博文(329)
分类: LINUX
2012-12-16 08:49:55
任务调度:计划任务
在设定的时间执行计划好的任务(工作)。
1,at
让使用者在指定的时间执行某个命令。由atd 服务提供。
时间格式:
HH:MM 04:00
HH:MM MM/DD/YY 04:00 2009-03-17
now + 分钟/小时/天/周 now + 5 minutes <==记得单位要加 s!
today tomorrow
命令:at
[root@localhost ~]# ls -l `which at`
-rwsr-xr-x 1 root root 43492 2009-11-16 /usr/bin/at
选项:
-l 查看有几个没执行的工作 == atq
# at –l
1 2012-08-10 22:20 harry
-r 或 -d 删除
# at -r 1
-c 查看工作的具体内容 // 看最后
写法:
at 时间
例子:
[root@localhost ~]# at 1:05
at> ls /
at>
job 1 at 2012-8-11 1:05
特点:
1,命令的结果不会输出到终端,通过“mail”邮件的方式查看,普通用户操作时,不要从root用户切换,直接用普通用户登录。
2,只有一次执行机会,超过时间即无效
----------------------------
cron 循环式的任务调度
命令:crontab
选项:
-u crontab [-u user] 默认情况下创建的是自己的任务,-u 选项加上用户名,创建的是该用户的任务
-e 编辑某个用户的cron计划任务,执行文字编辑器来设定时间表
-l 查看
-r 删除
crontab –e
时间格式:
分钟 0-59
小时 0-23
日期 1-31
月 1-12
星期 0-7 (0和7 都代表星期天)
断点:
特殊字符 |
代表意义 |
*(星号) |
代表任何时刻 |
,(逗号) |
代表分隔时段的意思。举例来说,如果要下达的工作是 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 ,相同意思! |
例子:
1,周一到周五,早上2:30
30 2 * * 1-5
2,晚上11点,到早上八点的整点执行
0 23,0-8 * * *
3,每月的1,10,20,早上4:45
45 4 1,10,20 * *
4,晚上6点到晚上11点,每隔半小时
0,30 18-22 * * *
0 23 * * *
整体格式:
时间 命令的绝对路径
注意: 千万不要换行,一个任务写一行
[root@localhost cron]# crontab -e
30 20 * * * /sbin/init 0
[root@localhost cron]# pwd
/var/spool/cron //计划任务会保存到这个目录
[root@localhost cron]# ls
root
[root@localhost cron]# cat root
30 20 * * * /sbin/init 0
-------------------------------------
配置文件:
/etc/crontab
[root@localhost cron]# vim /etc/crontab
SHELL=/bin/bash <==使用哪种 shell 介面
PATH=/sbin:/bin:/usr/sbin:/usr/bin <==运行档搜寻路径
MAILTO=root <==若有额外STDOUT,以 email将数据送给谁
HOME=/ <==默认此 shell 的家目录所在
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 //每月执行一次
如果有脚本或程序想要执行,可以放到相应的目录里。
举例:
[root@localhost cron.hourly]# vim echo.sh
#!/bin/bash
echo helo >> /tmp/helo
[root@localhost cron.hourly]# chmod +x echo.sh
[root@localhost cron.hourly]# service crond restart
------------------------------------------
什么是 anacron 唤醒停机期间的工作任务
anacron 并不是用来取代 crontab 的,anacron 存在的目的就在於我们上头提到的,在处理非 24 小时一直启动的 Linux 系统的 crontab 的运行!所以 anacron 并不能指定何时运行某项任务, 而是以天为单位或者是在启动后立刻进行 anacron 的动作,他会去侦测停机期间应该进行但是并没有进行的 crontab 任务,并将该任务运行一遍后,anacron 就会自动停止了。
-----------------------------------------------------------------------------------------------------------------------------------
NFS 网络文件系统 Network File System
在类unix系统之间共享资源
优点:
局域网内共享速度最快
缺点:
不能跨平台共享
不需要安装软件。端口不固定,需要portmap提供RPC(远程过程调用);
NFS向RPC注册端口
#rpm -qa | grep nfs
nfs-utils-lib-1.0.8-7.6.el5
nfs-utils-1.0.9-44.el5
porpmap 服务需要开启
#netstat -altunp | grep portmap
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3580/portmap
udp 0 0 0.0.0.0:111 0.0.0.0:* 3580/portmap
#vim /etc/exports
/var/www/html/docs( 绝对路径) *(ro,sync)
# service portmap restart
# service nfs restart
# chkconfig --list portmap
# chkconfig --list nfs
# chkconfig nfs on
#showmount -e 192.168.1.254
Export list for 192.168.1.254
/var/www/html/docs *
客户端如何使用这个资源。
client:192.168.1.151
#showmount -e 192.168.1.254
#mkdir /mnt/nfs
#mount -t nfs 192.168.1.254:/var/www/html/docs /mnt/nfs
--------------------------------------------------
--------------------------------------------------------------------------------------
TFTP
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。
1.安装 tftp服务器、客户端tftp和守护进程xinetd三个包
xinetd tftp tftp-server
2.配置vi /etc/xinetd.d/tftp
修改server_args = -s /tftpboot -c,这里的-c一定要加上,否则只能下载不能上传!!!
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c /////////////默认没有-c
disable =no /////////////////// 默认为yes
per_source = 11
cps = 100 2
flags = IPv4
}
说明:修改项server_args= -s
以创建文件。
3. 创建tftp根目录,启动tftp-server。
#chmod 777 -R /tftpboot
#service xinetd restart
这样,tftp-server就启动了。你可以登陆本机测试以下,命令如下:
#tftp 127.0.0.1
tftp>get a
tftp>put b
tftp>q
-------------------------------------------------------------------------------------------------------
apache: apache http server
http: 超文本传输协议 hyper text transport protocol
www 万维网
Apache
IIS
nginx
Lighttpd
端口:80
协议端口号用正整数标识,范围在0到65535之间。0-1023之间的端口为知名端口,这些端口一般固定分配给一些服务,比如21端口分配给FTP服务,23端口分配给TELNET,80端口分配给HTTP服务;而1024到65535之间的端口为动态分配端口,这些端口一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用,在关闭程序进程后,就会释放所占用的端口号。
apache:
优点:
1,免费
2,稳定性
3,扩展性 -支持多种操作系统
4,开放性 二次开发
5,支持多种语言,php ,jsp ,asp
Apache 历史
1994年 美国伊利诺大学国家超级计算中心 NCSA httpd
具体实施:
1,装包
# yum install httpd httpd-manual –y
# rpm -ql httpd
/etc/httpd 配置文件和模块,日志的
/etc/httpd/conf 配置文件的目录
/etc/httpd/conf.d 包含的配置文件目录,子配置文件
/etc/httpd/conf.d/welcome.conf 子配置文件
/etc/httpd/conf/httpd.conf 配置文件
/etc/httpd/logs 日志
/etc/httpd/modules 模块
/etc/rc.d/init.d/httpd 启动脚本
/var/log/httpd 日志
/var/www apache的家目录
/var/www/cgi-bin 发布cgi脚本的目录
/var/www/error 错误信息提示
/var/www/html 页面发布的目录
/usr/bin/ab 用来测速的
/usr/bin/htpasswd 生成访问用户和密码
2,配置
[root@www conf]# pwd
/etc/httpd/conf
57 ServerRoot "/etc/httpd" 服务器配置的路径
63 PidFile run/httpd.pid 进程号
134 Listen 80 监听端口
210 Include conf.d/*.conf 包含的子配置文件
231 User apache 用户
232 Group apache 组
281 DocumentRoot "/var/www/html" 页面保存目录
291
292 Options FollowSymLinks
293 AllowOverride None
294
这个 / 是虚拟的,真实的路径是"/var/www/html"
306
320 Options Indexes FollowSymLinks 选项
indexes 支持索引
FollowSymLinks 支持符号链接
327 AllowOverride None 不使用验证
332 Order allow,deny 访问控制,allow和deny写到前面的优先
333 Allow from all 具体的控制,all是所有的
ip地址 allow from 192.168.0.8
网段 allow from 192.168.0.0/24
域 allow from .uplooking.com
335
406 DirectoryIndex [abc] index.html index.html.var 定义页面的名字
486 ErrorLog logs/error_log 错误日志
实验:
1,发布页面:
[root@www html]# pwd
/var/www/html
[root@www html]# vim index.html
[root@www html]# cat index.html
hello all !!!
结合DNS。
为什么会有redhat的欢迎页面?
# cd /etc/httpd/conf.d/
# vim welcome.conf
#
# Options -Indexes
# ErrorDocument 403 /error/noindex.html
#
2,修改端口
80 --> 8080
3,自定义网络空间
[root@www html]# pwd
/var/www/html
[root@www html]# mkdir teacher
[root@www conf]# vim httpd.conf
337
338 options indexes
339 order allow,deny
340 allow from all
341
[root@www html]# /etc/init.d/httpd restart
[root@www html]# cd teacher/
[root@www teacher]# pwd
/var/www/html/teacher
[root@www teacher]# vim index.html
hello teacher !!!
options indexes FollowSymLinks
options -indexes -FollowSymLinks
添加“-”,表示取消该功能
============================================
符号链接:软连接, windows下的快捷方式
# ln –s /mnt/cdrom/Server /var/www/html/iso
配置一下yum
Baseurl=写上本机的ip地址
---------------------------------------------------------------
Apache的两种工作机制
prefork MPM 这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一 个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。
worker MPM 此多路处理模块(MPM)使网络服务器支持混合的多线程多进程。由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM。 使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接。通常来说,在一个高流量的HTTP服务器上,Worker MPM是个比较好的选择,因为Worker MPM的内存使用比Prefork MPM要低得多。但worker MPM也由不完善的地方,假如一个线程崩溃,整个进程就会连同其任何线程一起"死掉".
--------------------------------------------------------------------------------
一. shell环境变量的分类以及set env export的区别:
set:显示(设置)shell变量 包括的私有变量以及用户环境变量,不同类的shell有不同的私有变量 bash,ksh,csh每中shell私有变量都不一样
env:显示(设置)用户环境变量
export: 如果想让我的子shell能用我定义的变量,要把变量设为环境变量。
命令: export 变量名
举例:
[root@localhost ~]#aaa=bbb --shell变量设定
[root@localhost ~]#echo $aaa
bbb
[root@localhost ~]#env| grep aaa --设置完当前环境变量并没有
[root@localhost ~]#set| grep aaa --shell变量有
aaa=bbb
[root@localhost ~]#export| grep aaa --这个指的export也没导出,导出变量也没有
[root@localhost ~]#export aaa --那么用export 导出一下
[root@localhost ~]#env| grep aaa --发现用户变量内存在了
aaa=bbb
总结:linux 分 shell变量(set),环境变量(env), shell变量包含环境变量,export是一种命令工具,是显示那些通过export命令把shell变量中包含的环境变量导入给环境变量的那些变量.
二:使用unset命令来清除环境变量,注意set env export设置的变量,都可以用unset来清除的
---------------------------------------------------------------
主机名
# hostname 主机名 (当前生效)
# vim /etc/sysconfig/network
HOSTNAME=主机名
---------------------------------------
配置 ip地址,
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 设备名
BOOTPROTO=none IP分配方式(静态none,static。动态dhcp)
IPADDR=192.168.200.80 IP地址
HWADDR=00:0C:29:99:92:93 MAC地址
ONBOOT=yes 系统启动时禁用或启用网卡
#service network restart 重新启动网络服务
---------------------------------------------------------
/etc/hosts
Linux主机名的相关配置文件就是/etc/hosts;这个文件告诉本主机哪些域名对应那些ip,那些主机名对应哪些ip:
# vim /etc/hosts
192.168.1.254 teacher.uplook.com teacher
-----------------------------------------------------------
rc.local
/etc/rc.d/rc.local
任何想要在开机时就进行的工作时,直接将他写入 /etc/rc.d/rc.local , 那么该工作就会在开机的时候自动被载入.