bash_action
https://stackoverflow.com/questions/12076326/how-to-install-maven2-on-redhat-linux
#!/bin/bash # Target installation location
MAVEN_HOME="/your/path/here" # Link to binary tar.gz archive
# See https://maven.apache.org/download.cgi?html_a_name#Files
MAVEN_BINARY_TAR_GZ_ARCHIVE="http://www.trieuvan.com/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz" # Configuration parameters used to start up the JVM running Maven, i.e. "-Xms256m -Xmx512m"
# See https://maven.apache.org/configure.html
MAVEN_OPTS="" # Optional (not needed) if [[ ! -d $MAVEN_HOME ]]; then
# Create nonexistent subdirectories recursively
mkdir -p $MAVEN_HOME # Curl location of tar.gz archive & extract without first directory
curl -L $MAVEN_BINARY_TAR_GZ_ARCHIVE | tar -xzf - -C $MAVEN_HOME --strip 1 # Creating a symbolic/soft link to Maven in the primary directory of executable commands on the system
ln -s $MAVEN_HOME/bin/mvn /usr/bin/mvn # Permanently set environmental variable (if not null)
if [[ -n $MAVEN_OPTS ]]; then
echo "export MAVEN_OPTS=$MAVEN_OPTS" >> ~/.bashrc
fi # Using MAVEN_HOME, MVN_HOME, or M2 as your env var is irrelevant, what counts
# is your $PATH environment.
# See http://stackoverflow.com/questions/26609922/maven-home-mvn-home-or-m2-home
echo "export PATH=$MAVEN_HOME/bin:$PATH" >> ~/.bashrc
else
# Do nothing if target installation directory already exists
echo "'$MAVEN_HOME' already exists, please uninstall existing maven first."
fi
#!/usr/bin/env bash # Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License. # Stop all yarn daemons. Run this on master node. echo "stopping yarn daemons" bin=`dirname "${BASH_SOURCE-$0}"`
bin=`cd "$bin"; pwd` DEFAULT_LIBEXEC_DIR="$bin"/../libexec
HADOOP_LIBEXEC_DIR=${HADOOP_LIBEXEC_DIR:-$DEFAULT_LIBEXEC_DIR}
. $HADOOP_LIBEXEC_DIR/yarn-config.sh # stop resourceManager
"$bin"/yarn-daemon.sh --config $YARN_CONF_DIR stop resourcemanager
# stop nodeManager
"$bin"/yarn-daemons.sh --config $YARN_CONF_DIR stop nodemanager
# stop proxy server
"$bin"/yarn-daemon.sh --config $YARN_CONF_DIR stop proxyserver
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"stop-yarn.sh" 35L, 1340C
[root@hadoop1 sbin]# cat yarn-daemon.sh
#!/usr/bin/env bash # Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License. # Runs a yarn command as a daemon.
#
# Environment Variables
#
# YARN_CONF_DIR Alternate conf dir. Default is ${HADOOP_YARN_HOME}/conf.
# YARN_LOG_DIR Where log files are stored. PWD by default.
# YARN_MASTER host:path where hadoop code should be rsync'd from
# YARN_PID_DIR The pid files are stored. /tmp by default.
# YARN_IDENT_STRING A string representing this instance of hadoop. $USER by default
# YARN_NICENESS The scheduling priority for daemons. Defaults to 0.
## usage="Usage: yarn-daemon.sh [--config <conf-dir>] [--hosts hostlistfile] (start|stop) <yarn-command> " # if no args specified, show usage
if [ $# -le 1 ]; then
echo $usage
exit 1
fi bin=`dirname "${BASH_SOURCE-$0}"`
bin=`cd "$bin"; pwd` DEFAULT_LIBEXEC_DIR="$bin"/../libexec
HADOOP_LIBEXEC_DIR=${HADOOP_LIBEXEC_DIR:-$DEFAULT_LIBEXEC_DIR}
. $HADOOP_LIBEXEC_DIR/yarn-config.sh # get arguments
startStop=$1
shift
command=$1
shift hadoop_rotate_log ()
{
log=$1;
num=5;
if [ -n "$2" ]; then
num=$2
fi
if [ -f "$log" ]; then # rotate logs
while [ $num -gt 1 ]; do
prev=`expr $num - 1`
[ -f "$log.$prev" ] && mv "$log.$prev" "$log.$num"
num=$prev
done
mv "$log" "$log.$num";
fi
} if [ -f "${YARN_CONF_DIR}/yarn-env.sh" ]; then
. "${YARN_CONF_DIR}/yarn-env.sh"
fi if [ "$YARN_IDENT_STRING" = "" ]; then
export YARN_IDENT_STRING="$USER"
fi # get log directory
if [ "$YARN_LOG_DIR" = "" ]; then
export YARN_LOG_DIR="$HADOOP_YARN_HOME/logs"
fi if [ ! -w "$YARN_LOG_DIR" ] ; then
mkdir -p "$YARN_LOG_DIR"
chown $YARN_IDENT_STRING $YARN_LOG_DIR
fi if [ "$YARN_PID_DIR" = "" ]; then
YARN_PID_DIR=/tmp
fi # some variables
export YARN_LOGFILE=yarn-$YARN_IDENT_STRING-$command-$HOSTNAME.log
export YARN_ROOT_LOGGER=${YARN_ROOT_LOGGER:-INFO,RFA}
log=$YARN_LOG_DIR/yarn-$YARN_IDENT_STRING-$command-$HOSTNAME.out
pid=$YARN_PID_DIR/yarn-$YARN_IDENT_STRING-$command.pid
YARN_STOP_TIMEOUT=${YARN_STOP_TIMEOUT:-5} # Set default scheduling priority
if [ "$YARN_NICENESS" = "" ]; then
export YARN_NICENESS=0
fi case $startStop in (start) [ -w "$YARN_PID_DIR" ] || mkdir -p "$YARN_PID_DIR" if [ -f $pid ]; then
if kill -0 `cat $pid` > /dev/null 2>&1; then
echo $command running as process `cat $pid`. Stop it first.
exit 1
fi
fi if [ "$YARN_MASTER" != "" ]; then
echo rsync from $YARN_MASTER
rsync -a -e ssh --delete --exclude=.svn --exclude='logs/*' --exclude='contrib/hod/logs/*' $YARN_MASTER/ "$HADOOP_YARN_HOME"
fi hadoop_rotate_log $log
echo starting $command, logging to $log
cd "$HADOOP_YARN_HOME"
nohup nice -n $YARN_NICENESS "$HADOOP_YARN_HOME"/bin/yarn --config $YARN_CONF_DIR $command "$@" > "$log" 2>&1 < /dev/null &
echo $! > $pid
sleep 1
head "$log"
# capture the ulimit output
echo "ulimit -a" >> $log
ulimit -a >> $log 2>&1
;; (stop) if [ -f $pid ]; then
TARGET_PID=`cat $pid`
if kill -0 $TARGET_PID > /dev/null 2>&1; then
echo stopping $command
kill $TARGET_PID
sleep $YARN_STOP_TIMEOUT
if kill -0 $TARGET_PID > /dev/null 2>&1; then
echo "$command did not stop gracefully after $YARN_STOP_TIMEOUT seconds: killing with kill -9"
kill -9 $TARGET_PID
fi
else
echo no $command to stop
fi
rm -f $pid
else
echo no $command to stop
fi
;; (*)
echo $usage
exit 1
;; esac [root@hadoop1 sbin]#
yarn 打日志
kill -9
#/bin/bash
#输出 年-月-日
today=`date +%Y-%m-%d` echo $today
my_array=( 'a' 'b' 'c' )
# 'ssh {} "scp /data/visitlog/{} root@d:/data/mapReduceVisitorLog/{}/"'
# 遍历数组
for i in ${my_array[*]}
do
echo $i
s="ssh ${i} 'scp /data/visitlog/*${today} root@d:/data/mapReduceVisitorLog/${i}/'"
echo $s
eval $s
s="ssh ${i} 'scp /data/unionlog/*${today} root@d:/data/mapReduceYunMengLog/${i}/'"
echo $s
eval $s
done
shell 处理时间
$ date
Thu Jan 21 11:43:00 CST 2016
(1) 获取当前时间
$ date +%Y-%m-%d
2016-01-27
$ date "+%Y-%m-%d %H:%M:%S"
2016-01-27 17:37:31
(2) 一年中的第几天,第几周,一周中的第几天。。。
$ date +%j #一年中的第几天
027
$ date +%d #一个月中的第几天
27
$ date +%w #一周中的第几天(0(周日) --> 6(周六))
3
$ date +%U #一年中的第几周
04
(3) 前后时间,加ago就是前,没有ago就是后
$date -d '1 years ago' "+%Y-%m-%d %H:%M:%S"
2015-01-27 17:54:39
$date -d '1 months ago' "+%Y-%m-%d %H:%M:%S"
2015-12-27 17:54:45
$ date -d '1 days ago' "+%Y-%m-%d %H:%M:%S"
2016-01-26 17:51:45
$date -d '1 hours ago' "+%Y-%m-%d %H:%M:%S"
2016-01-27 16:52:29
$date -d '1 minutes ago' "+%Y-%m-%d %H:%M:%S"
2016-01-27 17:51:45
$date -d '1 seconds ago' "+%Y-%m-%d %H:%M:%S"
2016-01-27 17:52:59
(4) 比较时间
#!/bin/bash
date1="2008-4-09 12:00:00"
date2="2008-4-10 15:00:00"
t1=`date -d "$date1" +%s`
t2=`date -d "$date2" +%s`
if [ $t1 -gt $t2 ]; then
echo "$date1 > $date2"
elif [ $t1 -eq $t2 ]; then
echo "$date1 == $date2"
else
echo "$date1 < $date2"
fi
#/bin/bash
#输出 年-月-日
yesterday=`date -d '1 days ago' "+%Y-%m-%d"`
echo $yesterday
my_array=( 'a' 'b' 'c' )
# 'ssh {} "scp /data/visitlog/{} root@d:/data/mapReduceVisitorLog/{}/"'
# 遍历数组
for i in ${my_array[*]}
do
echo $i
s="ssh ${i} 'scp /data/visitlog/*${yesterday} root@d:/data/mapReduceVisitorLog/${i}/'"
echo $s
eval $s
s="ssh ${i} 'scp /data/unionlog/*${yesterday} root@d:/data/mapReduceYunMengLog/${i}/'"
echo $s
eval $s
done
无限循环 while true;do echo $(date +%Y%m%d-%H:%M:%S);done; 无限打印当前时间
获得当天的日期
date +%Y-%m-%d
输出: 2011-07-28
将当前日期赋值给DATE变量
DATE=$(date +%Y%m%d)
有时候我们需要使用今天之前或者往后的日期,这时可以使用date的 -d参数
获取明天的日期
date -d next-day +%Y%m%d
获取昨天的日期
date -d last-day +%Y%m%d
获取上个月的年和月
date -d last-month +%Y%m
获取下个月的年和月
date -d next-month +%Y%m
获取明年的年份
date -d next-year +%Y
下面是一些date参数的说明和一些例子
名称 : date
使用权限 : 所有使用者
使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
说明 : date 能用来显示或设定系统的日期和时间,在显示方面,使用者能设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :
时间方面 :
% : 印出
% %n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
日期方面 :
%a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期和时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)
若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],
其中 MM 为月份,
DD 为日,
hh 为小时,
mm 为分钟,
CC 为年份前两位数字,
YY 为年份后两位数字,
ss 为秒数
把计 :
-d datestr : 显示 datestr 中所设定的时间 (非系统时间)
--help : 显示辅助讯息
-s datestr : 将系统时间设为 datestr 中所设定的时间
-u : 显示目前的格林威治时间
--version : 显示版本编号
例子 :
显示时间后跳行,再显示目前日期 : date +%T%n%D
显示月份和日数 : date +%B %d
显示日期和设定时间(12:34:56) : date --date 12:34:56
设置系统当前时间(12:34:56):date --s 12:34:56
注 意 : 当你不希望出现无意义的 0 时(比如说 1999/03/07),则能在标记中插入 - 符号,比如说 date +%-H:%-M:%-S 会把时分秒中无意义的 0 给去掉,像是原本的 08:09:04 会变为 8:9:4。另外,只有取得权限者(比如说 root)才能设定系统时间。 当你以 root 身分更改了系统时间之后,请记得以 clock -w 来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续抱持最新的正确值。
ntp时间同步
linux系统下默认安装了ntp服务,手动进行ntp同步如下
ntpdate ntp1.nl.net
当然,也能指定其他的ntp服务器
-------------------------------------------------------------------
扩展功能
date 工具可以完成更多的工作,不仅仅只是打印出当前的系统日期。您可以使用它来得到给定的日期究竟是星期几,并得到相对于当前日期的相对日期。了解某一天是星期几
GNU 对 date 命令的另一个扩展是 -d 选项,当您的桌上没有日历表时(UNIX 用户不需要日历表),该选项非常有用。使用这个功能强大的选项,通过将日期作为引号括起来的参数提供,您可以快速地查明一个特定的日期究竟是星期几:
date−d"nov22"WedNov2200:00:00EST2006date−d"nov22"WedNov2200:00:00EST2006
在本示例中,您可以看到今年的 11 月 22 日是星期三。
所以,假设在 11 月 22 日召开一个重大的会议,您可以立即了解到这一天是星期三,而这一天您将赶到驻地办公室。
获得相对日期
d 选项还可以告诉您,相对于 当前日期若干天的究竟是哪一天,从现在开始的若干天或若干星期以后,或者以前(过去)。通过将这个相对偏移使用引号括起来,作为 -d 选项的参数,就可以完成这项任务。
例如,您需要了解两星期以后的日期。如果您处于 Shell 提示符处,那么可以迅速地得到答案:
date−d′2weeks′关于使用该命令,还有其他一些重要的方法。使用next/last指令,您可以得到以后的星期几是哪一天:date−d′2weeks′关于使用该命令,还有其他一些重要的方法。使用next/last指令,您可以得到以后的星期几是哪一天: date -d ’next monday’ (下周一的日期)
date−dnext−day+date−dnext−day+ date -d last-day +%Y%m%d(昨天的日期) 或者:date -d yesterday +%Y%m%d
date−dlast−month+date−dlast−month+ date -d next-month +%Y%m(下个月是几月)
使用 ago 指令,您可以得到过去的日期:
date−d′30daysago′(30天前的日期)您可以使用负数以得到相反的日期:date−d′30daysago′(30天前的日期)您可以使用负数以得到相反的日期: date -d ’dec 14 -2 weeks’ (相对:dec 14这个日期的两周前的日期)
date−d′−100days′(100天以前的日期)date−d′−100days′(100天以前的日期) date -d ’50 days’(50天后的日期)
这个技巧非常有用,它可以根据将来的日期为自己设置提醒,可能是在脚本或 Shell 启动文件中,如下所示:
DAY=`date -d ’2 weeks’ +"%b %d"`
if test "`echo DAY`" = "Aug 16"; then echo ’Product launch is now two weeks away!’; fi ############################## unix shell中的日期格式转换DAY`" = "Aug 16"; then echo ’Product launch is now two weeks away!’; fi ############################## unix shell中的日期格式转换 t_t="Jul 1 21:29"
date"+date"+t_t" # tt的格式是比较随意的2008−07−0121:29:00tt的格式是比较随意的2008−07−0121:29:00 date +%b/%d/%G -d "2008-07-01"
Jul/01/2008
unix shell中的日期之间间隔的天数
expr′(′expr′(′(date +%s -d "2008-07-02") - (date+(date+ a=`date +%Y-%m-%d`
b=‘date+b=‘date+a +36 hours"`
10天前:
date−d"date−d"a -10 days"
Sun Jun 22 00:00:00 CST 2008
以指定格式显示文件更改后最后日期,如yyyy-mm-dd hh24:mi:ss
$ date "+%Y-%m-%d %H:%M:%S" -r test.bak
2008-07-01 21:28:55
date命令的帮助信息
[root@localhost source]# date --help
用法:date [选项]... [+格式]
或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
以给定的格式显示当前时间,或是设置系统日期。
-d,--date=字符串 显示指定字符串所描述的时间,而非当前时间
-f,--file=日期文件 类似--date,从日期文件中按行读入时间描述
-r, --reference=文件 显示文件指定文件的最后修改时间
-R, --rfc-2822 以RFC 2822格式输出日期和时间
例如:2006年8月7日,星期一 12:34:56 -0600
--rfc-3339=TIMESPEC 以RFC 3339 格式输出日期和时间。
TIMESPEC=`date',`seconds',或 `ns'
表示日期和时间的显示精度。
日期和时间单元由单个的空格分开:
2006-08-07 12:34:56-06:00
-s, --set=字符串 设置指定字符串来分开时间
-u, --utc, --universal 输出或者设置协调的通用时间
--help 显示此帮助信息并退出
--version 显示版本信息并退出
给定的格式FORMAT 控制着输出,解释序列如下:
%% 一个文字的 %
%a 当前locale 的星期名缩写(例如: 日,代表星期日)
%A 当前locale 的星期名全称 (如:星期日)
%b 当前locale 的月名缩写 (如:一,代表一月)
%B 当前locale 的月名全称 (如:一月)
%c 当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
%C 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
%d 按月计的日期(例如:01)
%D 按月计的日期;等于%m/%d/%y
%e 按月计的日期,添加空格,等于%_d
%F 完整日期格式,等价于 %Y-%m-%d
%g ISO-8601 格式年份的最后两位 (参见%G)
%G ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用
%h 等于%b
%H 小时(00-23)
%I 小时(00-12)
%c 按年计的日期(001-366)
%k 时(0-23)
%l 时(1-12)
%m 月份(01-12)
%M 分(00-59)
%n 换行
%N 纳秒(000000000-999999999)
%p 当前locale 下的"上午"或者"下午",未知时输出为空
%P 与%p 类似,但是输出小写字母
%r 当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)
%R 24 小时时间的时和分,等价于 %H:%M
%s 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数
%S 秒(00-60)
%t 输出制表符 Tab
%T 时间,等于%H:%M:%S
%u 星期,1 代表星期一
%U 一年中的第几周,以周日为每星期第一天(00-53)
%V ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
%w 一星期中的第几日(0-6),0 代表周一
%W 一年中的第几周,以周一为每星期第一天(00-53)
%x 当前locale 下的日期描述 (如:12/31/99)
%X 当前locale 下的时间描述 (如:23:13:48)
%y 年份最后两位数位 (00-99)
%Y 年份
%z +hhmm 数字时区(例如,-0400)
%:z +hh:mm 数字时区(例如,-04:00)
%::z +hh:mm:ss 数字时区(例如,-04:00:00)
%:::z 数字时区带有必要的精度 (例如,-04,+05:30)
%Z 按字母表排序的时区缩写 (例如,EDT)
参考:
http://www.cnblogs.com/try-better-tomorrow/p/5030640.html
http://www.linuxidc.com/Linux/2013-03/81039.htm
https://www.cnblogs.com/lonelywolfmoutain/p/6165426.html
bash 传参
mkdir -p /testxiaole/test-cmd-`date '+%Y-%m-%d-%H-%M-%S'`
mkdir -p ~/testxiaole/test-cmd-`date '+%Y-%m-%d-%H-%M-%S'`
文件头
total 22500
4 drwxr-xr-x 3 root root 4096 Oct 30 22:24 .
4 dr-xr-x---. 8 root root 4096 Oct 30 22:24 ..
4 -rwxr-xr-x 1 root root 200 Oct 30 22:24 gdb_time_random_once
4 -rwxr-xr-x 1 root root 175 Oct 30 22:24 gdb_time_random_once_nh.py
4 -rwxr-xr-x 1 root root 200 Oct 30 22:23 gdb_time_random_once.py
4 -rw-r--r-- 1 root root 165 Oct 30 20:16 gdb_time_random.py
4 drwxr-xr-x 18 501 test 4096 Oct 30 20:02 Python-3.6.8
22472 -rw-r--r-- 1 root root 23010188 Oct 30 17:10 Python-3.6.8.tgz
[root@gateway test]# ./gdb_time_random_once_nh.py
./gdb_time_random_once_nh.py: line 1: import: command not found
./gdb_time_random_once_nh.py: line 3: syntax error near unexpected token `('
./gdb_time_random_once_nh.py: line 3: `def ftime():'
[root@gateway test]# cat gdb_time_random_once_nh.py
import time,random def ftime():
print(1)
print(time.time()) def frandom():
print(1)
print(random.random()) #while True:
if True:
ftime()
frandom()
[root@gateway test]# cat gdb_time_random_once
#!/usr/local/bin/python3
import time,random
#!/usr/local/bin/python3 执行文件的路径
#!/bin/bash
# 参数个数 文件名 第一个参数
# 1 ./myQuick.sh test_hex
echo $# $0 $1
# 输出原始字符串
# gcc -c $1.c -o $1
cmd='gcc -c $1.c -o $1'
echo $cmd
# 输入含有代表变量的字符串
# gcc -c test_hex.c -o test_hex
cmd="gcc -c $1.c -o $1"
echo $cmd # 执行
cmd=`gcc $1.c -o $1;chmod +x $1;./$1`
echo $cmd
#!/bin/bash
hostset=('hadoop-name' 'hadoop-data-a' 'hadoop-data-b')
for i in ${hostset[@]}; do
cmd=`ssh $i "mkdir -p ~/test/hadoop/;ls;"`;
echo $i $cmd;
done
#!/bin/bash
hostset=('hadoop-name' 'hadoop-data-a' 'hadoop-data-b')
for i in ${hostset[@]}; do
cmd=`ssh $i "mkdir -p ~/test1/hadoop/;ls;"`;
echo $i $cmd;
done
# 函数传入参数
dataNodes(){
echo $1;
}
dataNodes `echo 3` dataNodesSet=('hadoop-data-a' 'hadoop-data-b')
cmd='mkdir -p ~/testa0/hadoop/;'
dataNodesSsh(){
for i in ${dataNodesSet[@]}; do
eval `ssh $i $cmd`
done
}
dataNodesSsh
# '.` 形成.
cmd='mkdir -p ~/testb'`date '+%Y-%m-%d-%H-%M-%S'`'/hadoop/;'
dataNodesSsh
在bash中加入时间变量
*/1 * * * * cd /root/Shawn/load_balance_app1/5000/app1; git pull >> /root/Shawn/log/app1/git/5000;
# app1
## pull log
10 2 * * * cd /root/Shawn/log/app1/git/;bzip2 --small --best 5000; mv 5000.bz2 `date '+%Y-%m-%d-%H-%M-%S'`5000.bz2;
mysql命令行连接 导入文件
mysql -h rm-wz96uncs.com -u root--password="4fbb" < db_schema/links-db-schema.sql
bash_action的更多相关文章
随机推荐
- OsCache MemCached EhCache
Memcache:分布式内存对象缓存系统,占用其他机子的内存.很多互联网,负载均衡三台(以三台为例)web服务器可以共享一台Memcache的资源.传递的信息以键值对的形式存储.传递的数据要实现序列化 ...
- The Closest M Points BZOJ 3053
The Closest M Points [问题描述] 软工学院的课程很讨厌!ZLC同志遇到了一个头疼的问题:在K维空间里面有许多的点,对于某些给定的点,ZLC需要找到和它最近的m个点. (这里的距离 ...
- MySQL 中 key, primary key ,unique key,index的区别
一.key与primary key区别 CREATE TABLE wh_logrecord ( logrecord_id int(11) NOT NULL auto_increment, user_n ...
- Spring 3.0 注解
原文 :http://www.blogjava.net/ashutc/archive/2011/04/14/348270.html 另两 参考博客 : http://kingtai168.iteye. ...
- 三国武将查询系统 //Java 访问 数据库
import java.awt.*; import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event ...
- WEB学习-HTML的基本语法特性
HTML对换行不敏感,对tab不敏感 HTML只在乎标签的嵌套结构,嵌套的关系.谁嵌套了谁,谁被谁嵌套了,和换行.tab无关. 换不换行.tab不tab,都不影响页面的结构. 所以: • <di ...
- mysql date_add日期函数的使用
select date_add(CURRENT_DATE()-day(CURRENT_DATE())+1,interval 3 month);##my sql 获取三个月之后的第一天日期select ...
- AC日记——最大子段和 洛谷 P1115
题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入输出格式 输入格式: 输入文件maxsum1.in的第一行是一个正整数N,表示了序列的长度. 第2行包含N个绝对值不大于10000 ...
- vue之组件理解(一)
组件是可复用的 Vue 实例,所以它们与 new Vue 接收相同的选项,例如 data.computed.watch.methods 以及生命周期钩子等.仅有的例外是像 el 这样根实例特有的选项. ...
- Codeforces 959 E Mahmoud and Ehab and the xor-MST
Discription Ehab is interested in the bitwise-xor operation and the special graphs. Mahmoud gave him ...