免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Shell_HAT
打印 上一主题 下一主题

[其他] shell技术讨论--实际工作中的应用(获奖名单已公布-2014-4-21) [复制链接]

论坛徽章:
12
2015年亚洲杯之乌兹别克斯坦
日期:2015-04-10 18:29:00狮子座
日期:2016-01-17 15:40:28处女座
日期:2016-01-16 17:36:17巨蟹座
日期:2016-01-16 17:35:48未羊
日期:2015-12-12 16:18:26青铜圣斗士
日期:2015-12-09 01:07:50IT运维版块每日发帖之星
日期:2015-12-05 06:20:00神斗士
日期:2015-12-03 23:13:59IT运维版块每日发帖之星
日期:2015-11-22 06:20:00IT运维版块每日发帖之星
日期:2015-11-08 06:20:00IT运维版块每日发帖之星
日期:2015-10-29 06:20:00IT运维版块每日发帖之星
日期:2016-06-30 06:20:00
31 [报告]
发表于 2014-03-26 00:18 |只看该作者
回复 4# seesea2517


    最近也刚刚接触到shell ,perl等脚本语言,非常羡慕前辈的技术,希望以后也能有此建树

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
32 [报告]
发表于 2014-03-26 00:20 |只看该作者
回复 22# wenhq

什么地方啊?
   

论坛徽章:
0
33 [报告]
发表于 2014-03-26 00:34 |只看该作者

论坛徽章:
22
CU大牛徽章
日期:2013-09-18 15:22:06白羊座
日期:2014-04-14 22:56:32午马
日期:2014-05-16 17:18:08巳蛇
日期:2014-05-30 20:53:19寅虎
日期:2014-06-03 10:53:34未羊
日期:2014-08-12 22:15:31神斗士
日期:2015-11-20 17:26:2515-16赛季CBA联赛之浙江
日期:2016-03-15 18:27:4215-16赛季CBA联赛之同曦
日期:2016-03-22 09:21:0115-16赛季CBA联赛之北控
日期:2017-03-26 21:47:12技术图书徽章
日期:2014-04-03 16:47:26摩羯座
日期:2014-03-25 23:51:36
34 [报告]
发表于 2014-03-26 12:31 |只看该作者
第一题:
1.学shell是为了更好用linux
2.自动化操作,省时省力。
3.为看懂高手的操作...

第二题:
膜拜前排大神...
之前写过的脚本都属于比较简单的一类,最复杂的就是写过启动脚本和批量机器安装软件之类的,这个就不献丑了。
文本处理日常用的比较少,之前专研过一段时间,后来没用就荒废了..

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
35 [报告]
发表于 2014-03-26 13:43 |只看该作者
回复 32# yestreenstars


    bj

论坛徽章:
18
卯兔
日期:2013-09-27 17:41:0615-16赛季CBA联赛之佛山
日期:2016-07-09 17:34:45操作系统版块每周发帖之星
日期:2015-12-02 15:01:04IT运维版块每日发帖之星
日期:2015-12-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-07 06:20:00IT运维版块每日发帖之星
日期:2015-10-03 06:20:00IT运维版块每日发帖之星
日期:2015-10-01 06:20:00羊年新春福章
日期:2015-04-01 17:56:06拜羊年徽章
日期:2015-04-01 17:56:062015年迎新春徽章
日期:2015-03-04 09:49:452015年辞旧岁徽章
日期:2015-03-03 16:54:15天秤座
日期:2015-01-14 06:39:28
36 [报告]
发表于 2014-03-26 17:59 |只看该作者
再来,再支持...........

论坛徽章:
18
卯兔
日期:2013-09-27 17:41:0615-16赛季CBA联赛之佛山
日期:2016-07-09 17:34:45操作系统版块每周发帖之星
日期:2015-12-02 15:01:04IT运维版块每日发帖之星
日期:2015-12-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-07 06:20:00IT运维版块每日发帖之星
日期:2015-10-03 06:20:00IT运维版块每日发帖之星
日期:2015-10-01 06:20:00羊年新春福章
日期:2015-04-01 17:56:06拜羊年徽章
日期:2015-04-01 17:56:062015年迎新春徽章
日期:2015-03-04 09:49:452015年辞旧岁徽章
日期:2015-03-03 16:54:15天秤座
日期:2015-01-14 06:39:28
37 [报告]
发表于 2014-03-26 18:00 |只看该作者
再来,再支持...........

论坛徽章:
0
38 [报告]
发表于 2014-03-26 20:58 |只看该作者
活动不错,学习中...

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
39 [报告]
发表于 2014-03-26 21:46 |只看该作者
shell/perl都是*nix的标配,用起来很顺手.
python虽然也不错,不过出来晚了,而且除了linux,其他系统不是预装,还是差点劲.
一般简单的操作用sh,复杂的用perl.
sh常用的场合.
1.清理n天前的文件
  1. find ${DATADIR}/user*.log -type f -mtime +30 -exec rm {} \;
复制代码
2.用来做系统自动化安装.
例如数据库脚本
  1. sqlplus << EOF
  2. $user

  3. REM ********** CREATE SCHEME *********
  4. spool cre_mod.log
  5. @init.sql
  6. spool off

  7. disconnect
  8. exit


  9. EOF
复制代码
3.一些进程调度,尤其是需要设置环境变量的.
  1. ls Portcolinfo* > $APPDIR/cfg/temp
  2. while read CFGFILE
  3. do

  4.         $HOME/bin/GetPortFlux.pl $CFGDIR/$CFGFILE &

  5. done < $APPDIR/cfg/temp
复制代码
4.ftp传输数据
  1. ##将文件上传到
  2. ftp -i $DESTIP<< END
  3.     binary
  4.     mkdir "$DESTIMPDIR"
  5.     cd "$IMPDIR"
  6.     lcd "$DESTIMPDIR"
  7.     mput APP*
  8.     bye
  9. END
复制代码
sh的优点是简单轻量,开销小.
复杂一些需要用到数值计算,awk,expect处理的时候就直接上perl了.

论坛徽章:
26
CU十二周年纪念徽章
日期:2013-10-24 15:41:34技术图书徽章
日期:2014-07-11 16:27:52辰龙
日期:2014-09-04 13:40:43白羊座
日期:2014-09-09 12:51:55双子座
日期:2014-09-26 11:00:042014年中国系统架构师大会
日期:2014-10-14 15:59:00子鼠
日期:2014-10-23 16:48:23巨蟹座
日期:2014-10-27 08:21:10申猴
日期:2014-12-08 10:16:282015年辞旧岁徽章
日期:2015-03-03 16:54:15NBA常规赛纪念章
日期:2015-05-04 22:32:03IT运维版块每日发帖之星
日期:2016-01-29 06:20:00
40 [报告]
发表于 2014-03-27 10:20 |只看该作者
抛砖引玉,支持一下

本期话题:
话题一,你当初为什么选择了学习shell?
学linux管理,就必须学shell,虽然perl、python很强大,但shell是最常用的,也是最简单的,即写即用。

话题二,在你的实际工作中,用shell实现了哪些功能?请给出详细的背景介绍、完整的源代码和注释,这将是我们评选的重要标准之一,如有隐私信息请做无害化处理。

用shell实现了的功能太多了,但一般就是为了方便,减少重复工作,与cron一起使用更好。
用shell写的程序,短小精悍。

实际工作中用的很多,我找个简单常用的拿来做例子。

1、备份
我帮人用drupal做了一个网站,下面是备份drupal文件夹与数据库的shell

#!/bin/bash
DAY=`date +%Y%m%d`
SIZE=`du -sh /var/www/html/drupal/`
SIZE1=`du -sh /var/lib/mysql/drupal7/`
cd /home/ftpsite/bak/drupalbak/
echo "DateDAY">>dbinfo-${DAY}.txt
echo "Drupal Date SizeSIZE">>dbinfo-${DAY}.txt
echo "Mysql Date SizeSIZE1">>dbinfo-${DAY}.txt
mysqldump -uroot -phowaxxxx drupal7>drupal7-${DAY}.sql
tar zcvf drupalbak-${DAY}.tar.gz /var/www/html/drupal >dev/null

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP