最近在论坛看到两个帖子,一个是IP地址批量转换,另一个是备份文件夹下当天数据到另一个文件夹,并将文件夹命名为$用户名+$时间+$文件名的格式,刚好最近在学习shell就用他们来练手了,算是实践结合理论了。
1. IP批量转换
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#!/bin/bash
# It
is
a scripts of IP address quantity convert to hostname.
#E_FILE_EXIST=
65
#
#
if
[ ! -f $
1
];then
# echo
"Usage:`basename $0` filename."
# exit $E_FILE_EXIST
#fi
#IP=(`cat $
1
`)
IP=(
8.8
.
8.8
202.96
.
209.5
202.96
.
209.133
202.96
.
209.6
www.sohu.com
)
echo ------------------------------------------------------------------------
IP_num=${#IP[*]}
for
((i=
0
;i<
"$IP_num"
;i++))
do
host_name=`host ${IP[$i]} | awk
'{print $NF}'
`
echo -n -e
"${IP[$i]} ---> `echo $host_name` \n"
done
echo ------------------------------------------------------------------------
IP_number=${#IP[*]}
while
[
"$IP_number"
-gt
0
]
do
IP_number=$(($IP_number-
1
))
host_name=`host ${IP[$IP_number]} | awk
'{print $NF}'
`
echo -n -e
"${IP[$IP_number]} ---> `echo $host_name`\n"
done
echo ------------------------------------------------------------------------
exit 0b
|
2. 备份当天数据
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/bin/bash
# It
is
backup data scripts of the same days.
# Variable
"DATA_DIR"
is
backup diritory.
# Variable
"BACKUP_DIR"
is
backup to paths.
DATA_DIR=
"/usr/local/bin/scripts"
BACKUP_DIR=
"/tmp"
# ls -l $DATA_DIR
# read -p
"Please enter dirtory name(Usage:/paths/dirtory):"
BACKUP_DIR
BACKUP_FILE=(`find $DATA_DIR -mtime -
1
| awk -F /
'{print $NF}'
`)
BACKUP_NUM=${#BACKUP_FILE[*]}
NOW_USER=`whoami`
NOW_DATE=`date +_%Y-%m-%d_`
for
((i=
1
;i<$BACKUP_NUM;i++))
do
/bin/cp -rf $DATA_DIR/${BACKUP_FILE[$i]} $BACKUP_DIR/
"$NOW_USER$NOW_DATE${BACKUP_FILE[$i]}"
# 这里有个小技巧,“find -mtime”获取的数据第一个是当前目录,不需要备份,而数组是从
0
开始;所以这了i从
1
开始计数刚好规避了这个不需要的备份。
echo
"copy file(or diretory) \"$DATA_DIR/${BACKUP_FILE[$i]}\" to \"$BACKUP_DIR/$NOW_USER$NOW_DATE${BACKUP_FILE[$i]}\""
done
exit
0
|
本文转自 chengchow 51CTO博客,原文链接:http://blog.51cto.com/chengchow/1323584,如需转载请自行联系原作者