Shell脚本实现系统监视统计与数据备份(2)

通过该脚本把从capstats.csv收集到的数据处理成静态页面,然后通过Nginx服务来预览。
[root@wzp ~]# date +"%A, %B %d, %Y"
Thursday, May 12, 2011
这里点跟上面一致,获取指定格式的当前日期。
对于echo部分,主要就是生成静态页面的标准格式,对于这部分:
cat $FILE | gawk -F, '{
        printf "<tr><td>%s</td><td>%s</td><td>%s</td>", $1, $2, $3;
        printf "<td>%s</td><td>%s</td><td>%s</td>\n</tr>\n", $4, $5, $6;
}' >> $TEMP
这是最为关键的地方,表示从数据文件capstats.csv中提取数据,然后把$1,$2,$3,$4,$5,$6逐一替代指定位

置的%s,实际上这两行可以写成一行的!
再往下就是通过计划任务实现每15分钟处理一次数据,然后生成静态页面,即可用浏览器预览了。
[root@wzp ~]# crontab -l
*/15 * * * * /root/report
再者启动Nginx服务:
[root@wzp ~]# /usr/local/nginx/sbin/nginx
然后通过浏览器浏览,在linux下:
[root@wzp ~]# links

即可看到生成的关于系统性能的数据。

Shell脚本实现系统监视统计与数据备份

4、执行备份
备份本身是一个很大的概念,涉及到的东西也是非常多。对于这一部分内容仅仅对系统文件的备份,主要通
过脚本实现对系统文件的自动化增量备份。还有一个就是将备份文件依旧放置原系统磁盘文件上,简单实现防止文件被破坏或意外删除的风险。
4.1、必需函数
在linux下,归档数据时最常用的命令是tar,对其具体的用法可以tar --help了解,下面举个例子:
[root@wzp ~]# du -s backdir/
744     backdir/
[root@wzp ~]# tar -cf back.tar backdir/
[root@wzp ~]# ll back.tar
-rw-r--r-- 1 root root 757760 May 12 21:30 back.tar
如上把backdir目录归档成一个.tar压缩文件
接下来就是要对生成的归档文件做数据压缩了,linux下常用的gzip命令
[root@wzp ~]# gzip back.tar
[root@wzp ~]# ll back
backdir/     back.tar.gz
[root@wzp ~]# ll back.tar.gz
-rw-r--r-- 1 root root 748514 May 12 21:30 back.tar.gz
通过如上的tar和gzip命令实现对一个目录做了归档和数据压缩,最终形成.tar.gz后缀的压缩文件对于.tar.gz后缀的压缩文件可以通过tar zxvf解压缩
(z表解压gz包;x表解压缩;v表显示过程;f表解压文件;-C表解压到指定的目录下)
[root@wzp ~]# tar zxvf back.tar.gz -C /home/www/
backdir/
backdir/imagick-3.0.0.tgz
backdir/nginx-1.0.0.tar.gz
[root@wzp ~]# du -s /home/www/backdir/
744     /home/www/backdir/
通过上面实现归档数据和压缩的方法,往下就可以编写脚本实现自动化了
4.2、创建日常归档脚本

[root@wzp ~]# cat backupscript  #!/bin/bash  # archive a working directory  DAY=`date +%d`  MONTH=`date +%m`  TIME=`date +%H%M`  SOURCE=/root/etc/httpd  DESTDIR=/tmp  mkdir -p $DESTDIR/$MONTH/$DAY  DESTINATION=$DESTDIR/$MONTH/$DAY/archive$TIME  tar -czvPf $DESTDIR/$MONTH/$DAY/archive$TIME.tar.gz $SOURCE 

对于如上脚本,主要实现把/root/etc/httpd该目录进行定期的压缩备份,并且通过指定具体时间的目录名称

,方便后期的数据整理和查看。
[root@wzp ~]# chmod +x backupscript
[root@wzp ~]# ./backupscript
/root/etc/httpd/
/root/etc/httpd/logs
/root/etc/httpd/conf/
/root/etc/httpd/conf/httpd.conf
/root/etc/httpd/conf/magic
/root/etc/httpd/run
/root/etc/httpd/conf.d/
/root/etc/httpd/conf.d/README
/root/etc/httpd/conf.d/proxy_ajp.conf
/root/etc/httpd/conf.d/welcome.conf
/root/etc/httpd/conf.d/Python.conf
/root/etc/httpd/conf.d/php.conf
/root/etc/httpd/conf.d/perl.conf
/root/etc/httpd/conf.d/manual.conf
/root/etc/httpd/conf.d/squid.conf
/root/etc/httpd/conf.d/webalizer.conf
/root/etc/httpd/conf.d/ssl.conf
/root/etc/httpd/modules
如果不显示归档过程可以把-v去掉。
[root@wzp ~]# date
Mon May 16 13:39:10 CST 2011
[root@wzp ~]# ll /tmp/05/16/
total 48
-rw-r--r-- 1 root root 47805 May 16 13:39 archive1339.tar.gz

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwfssd.html