Hadoop Day02

1.指定定时任务夫人软件:crond服务
crontab :
(1)安装:yum install crontabs
(2)启动:service crond start
(3)关闭:service crond stop
(4)重启:service crond restart
(5)重新载入:service crond reload
(6)重新服务状态:service crond status

修改任务计划:
	常用的几项:
	(1)crontab -l [-u user]		列出用户目前的crontab. 
	(2)crontab -e [-u user]		编辑用户目前的crontab. 
	(3)crontab -r                     删除定时任务      
	
调度配置基本格式:
		*  *  *  *  *  command 
		分  时  日  月  周  命令 
  1. shell 脚本:
    创建: vi/vim 文件名.sh
    编写: 以#!/bin/bash 开头
    执行: sh 文件名.sh

  2. 系统变量:
    (1)set 查看系统变量和用户自定义变量
    (2)echo

# eg:
[root@hdp01 ~]# a="hello world"
[root@hdp01 ~]# echo $a
hello world
# 拼接
root@hdp01 ~]# echo $a+"s"
hello world+s
[root@hdp01 ~]# echo $a"s"
hello worlds
[root@hdp01 ~]# echo $as
或者
[root@hdp01 ~]# echo ${a}s
hello worlds

(3). export:可把变量提升为当前shell进程中的全局环境变量,可供其他子shell进程使用

#  eg:
[root@hadoop2 home]# vi a.sh
#!/bin/bash
a="a in a.sh"
echo $a
/root/scripts/b.sh

[root@hadoop2 home]# vi b.sh
#!/bin/bash
b="b in b.sh"
echo $b
echo $a

(4)反引号赋值:
eg : A = ls -la 反引号,运行里面的命令,并把结果返回给A ,等价于A = $(ls -la)
(5) 特殊变量:
$? 表示上一个命令退出的状态码(0-255)
$$ 表示当前进程编号
$0 表示当前脚本名称
$n 表示n位置的输入参数(n代表数字,n>=1)
$# 表示参数的个数,常用于循环
∗ 和 *和 @ 都表示参数列表
(6) 算数表达式运算:

  • expr eg:s = expr 2+3 , b = expr $s \* 4
  • 用(()) eg: echo $((1+2))
  • 用$[ ] eg: a = $[1+2] echo $a
  • 用let eg: i = 1 let i++
    5.流程控制:
    (1) if 语句:
格式:
if [condition]
	then 
		[statement]
	elif [condition]
		then
			[statement]
	else
		then
			[statement]
fi

(2) 判断条件:

[root@shizhan01 scripts]#a=1
[root@shizhan01 scripts]#b=2
[root@shizhan01 scripts]# if [ a = b ];then echo ok;else echo notok;fi
结果 : notok
[root@shizhan01 scripts]# if [ a=b ];then echo ok;else echo notok;fi
结果 : ok 
#有无空格,结果不一样,有空格正确!!!

(3)短路(三元运算符):[condition] && echo ok || echo notok
条件满足,执行&&后语句,不满足执行||后面的语句
-a 代表and -o 代表 or
(4)字符串比较:= 字符串是否相等,!=字符串是否不相等
-z 字符串为0返回ture -n 字符串不为0返回true
(5)整数比较:-lt 小于,-le 小于等于,-eq 等于,-gt 大于,-ge 大于等于。或可以用转义的数学符号如:<
(6)文件判断:-d 是否为目录 , -f 是否为文件, -e 是否存在
(7)while语法:

#格式一:
while expression
do
command
…
done

#格式二:
i=1
while ((i<=3))
do
  echo $i
  let i++
done

(8)case语法:

case $1 in
start)
	echo "starting"
	;;
stop)
	echo "stoping"
	;;
*)
	echo "Usage: {start|stop}"
esac

(9)for 语法:

for N in 1 2 a
do
	echo $N
done
或
for N in 1 2 3; do echo $N; done
或
for N in {1..3}; do echo $N; done
for ((i = 0; i <= 5; i++))
do
	echo "welcome $i times"
done
或
for ((i = 0; i <= 5; i++)); do echo "welcome $i times"; done

(10)函数的使用:

#!/bin/sh
# func1.sh
#hello
hello()    ## 函数定义
{
        echo "Hello there today's date is `date +%Y-%m-%d`"
        return  2      ###返回值其实是状态码,只能在[0-255]范围内
}  
echo "now going to the function hello"
hello
echo $?  #获取函数的return(即:返回上一条命令执行的后的值。true返回0false返回1)  
echo "back from the function"

执行:function hello()
	 hello
	或 function hello

(11)跨脚本调用函数: 在其他脚本内添加要调用的函数路径

未完待续!!!!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值