当前位置: 技术问答>linux和unix
求教linux的两个shell脚本
来源: 互联网 发布时间:2017-04-15
本文导语: 各位大神,小弟shell脚本知识欠缺,目前有两个问题需要求教: (1)我要在A服务器上把B服务器上的数据文件压缩取过来,或者取过来压缩,我要分开压缩,如XNKY目录下的文件格式全是20130609,20130608等按日期命名的...
各位大神,小弟shell脚本知识欠缺,目前有两个问题需要求教:
(1)我要在A服务器上把B服务器上的数据文件压缩取过来,或者取过来压缩,我要分开压缩,如XNKY目录下的文件格式全是20130609,20130608等按日期命名的,要按日期压缩成文件。
(2)我有一个过程,要去跑两年的历史数据,有一个脚本可以运行,但是手动一次只能运行一天,我想能不能写一个shell脚本让其自动运行,并且是一天一天的来,就像i++ 一样,运行完2013年6月1日 然后在运行6月2日,这样一次类推。。。
求赐教,查了很久,也不好搜,所以没搜到。
(1)我要在A服务器上把B服务器上的数据文件压缩取过来,或者取过来压缩,我要分开压缩,如XNKY目录下的文件格式全是20130609,20130608等按日期命名的,要按日期压缩成文件。
(2)我有一个过程,要去跑两年的历史数据,有一个脚本可以运行,但是手动一次只能运行一天,我想能不能写一个shell脚本让其自动运行,并且是一天一天的来,就像i++ 一样,运行完2013年6月1日 然后在运行6月2日,这样一次类推。。。
求赐教,查了很久,也不好搜,所以没搜到。
|
问题1
源主机:
[root@db2inst1 XNKY]# pwd
/XNKY
[root@db2inst1 XNKY]# ls -l
total 36
-rw-r--r-- 1 root root 10240 Apr 27 23:56 20130608_1
-rw-r--r-- 1 root root 0 Apr 27 22:11 20130608_2
-rw-r--r-- 1 root root 0 Apr 27 22:11 20130608_3
-rw-r--r-- 1 root root 0 Apr 27 22:11 20130609_1
-rw-r--r-- 1 root root 0 Apr 27 22:11 20130609_2
-rw-r--r-- 1 root root 0 Apr 27 22:11 20130609_3
[root@db2inst1 XNKY]# cat /tmp/scp_test1
#/bin/sh
ls -l /XNKY | awk '{print substr($9,0,8)}' | awk '!a[$0]++' |
while read row;do
tar -zcvf $row.gz $row*
done
scp /XNKY/*.gz root@172.17.122.46:/tmp/
rm -f *.gz
[root@db2inst1 XNKY]# /tmp/scp_test1
20130608_1
20130608_2
20130608_3
20130608.gz
20130609_1
20130609_2
20130609_3
20130609.gz
20130608_1
20130608_2
20130608_3
20130608.gz
20130609_1
20130609_2
20130609_3
20130609.gz
root@172.17.122.46's password:
20130608.gz 100% 190 0.2KB/s 00:00
20130609.gz
目标主机:
[root@localhost ~]# ls -l /tmp
total 476
-rw-r--r-- 1 root root 0 Jun 9 10:25 1
-rw-r--r-- 1 root root 190 Jun 9 13:10 20130608.gz
-rw-r--r-- 1 root root 164 Jun 9 13:10 20130609.gz
如果有哪里不懂,或者我理解错题意,可以回复我。
源主机:
[root@db2inst1 XNKY]# pwd
/XNKY
[root@db2inst1 XNKY]# ls -l
total 36
-rw-r--r-- 1 root root 10240 Apr 27 23:56 20130608_1
-rw-r--r-- 1 root root 0 Apr 27 22:11 20130608_2
-rw-r--r-- 1 root root 0 Apr 27 22:11 20130608_3
-rw-r--r-- 1 root root 0 Apr 27 22:11 20130609_1
-rw-r--r-- 1 root root 0 Apr 27 22:11 20130609_2
-rw-r--r-- 1 root root 0 Apr 27 22:11 20130609_3
[root@db2inst1 XNKY]# cat /tmp/scp_test1
#/bin/sh
ls -l /XNKY | awk '{print substr($9,0,8)}' | awk '!a[$0]++' |
while read row;do
tar -zcvf $row.gz $row*
done
scp /XNKY/*.gz root@172.17.122.46:/tmp/
rm -f *.gz
[root@db2inst1 XNKY]# /tmp/scp_test1
20130608_1
20130608_2
20130608_3
20130608.gz
20130609_1
20130609_2
20130609_3
20130609.gz
20130608_1
20130608_2
20130608_3
20130608.gz
20130609_1
20130609_2
20130609_3
20130609.gz
root@172.17.122.46's password:
20130608.gz 100% 190 0.2KB/s 00:00
20130609.gz
目标主机:
[root@localhost ~]# ls -l /tmp
total 476
-rw-r--r-- 1 root root 0 Jun 9 10:25 1
-rw-r--r-- 1 root root 190 Jun 9 13:10 20130608.gz
-rw-r--r-- 1 root root 164 Jun 9 13:10 20130609.gz
如果有哪里不懂,或者我理解错题意,可以回复我。
|
请把完整代码贴出来看看,我帮你改。