您的位置:首页 > 大数据 > Hadoop

Hadoop Day02

2019-09-02 23:24 85 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/YYNNNCSDN/article/details/100375252

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返回0,false返回1)
echo "back from the function"

执行:function hello()
hello
或 function hello

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

未完待续!!!!!!!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: