技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

2013年12月27日 #

重构后的程序:通过rsync命令抓取日志文件

摘要: push.sh#!/bin/bashfunction push(){ local ip=$1 local user=$2 local password=$3 local path=$4 local localPath=$5 local error=$6 :>$error export RSYNC_PASSWORD="$password" rsync -Cavz $user@$ip::$path $localPath > $error 2>&1 # 判断是否... 阅读全文

posted @ 2013-12-27 17:40 codestyle 阅读(729) 评论(0) 推荐(0)

重构前的程序:通过rsync命令抓取日志文件

摘要: 基本概况:我有一台服务器每天每个小时都会生成一个日志文件,这些日志文件会被保留2天,超过2天会被一个程序压缩放到备份目录,日志文件的文件名是有命名要求的,例如:project_log.20130101.01,project_log.20130101.02 意思即:2013年1月1日1点和2点生成的日志文件,他们被备份后的文件名是:project_log.20130101.01.gz,project_log.20130101.02.gz另外有一台服务器可从这台服务器上抓取文件,它即可以抓取昨天生成的尚未备份的日志,也可以抓取比较早的已经被备份的数据,还可以抓取当天已经生成了的日志文件#!/bin 阅读全文

posted @ 2013-12-27 17:35 codestyle 阅读(1189) 评论(0) 推荐(0)

标准输入、输出和错误和文件重定向

摘要: 标准输入、输出和错误当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,shell同时也给出了相应的文件名。下面就是这些文件描述符及它们通常所对应的文件名:文件文件描述符输入文件—标准输入0:它是命令的输入,缺省是键盘,也可以是文件或其他命令的输出。输出文件—标准输出1:它是命令的输出,缺省是屏幕,也可以是文件。错误输出文件—标准错误2:这是命令错误的输出,缺省是屏幕,同样也可以是文件。系统中实际上有1 2个文件描述符,但是正如我们在上表中所看到的, 0、1、2是标准输入、输出和错误。可以任意使用文件描述符3到9。标准 阅读全文

posted @ 2013-12-27 14:06 codestyle 阅读(1291) 评论(0) 推荐(0)