waterye

2008年12月4日 #

使用rsync+ssh同步n个文件

rsync -avz -e ssh bak@192.168.0.138:/home/res /home/res/bak

posted @ 2009-12-29 20:24 waterye 阅读(497) | 评论 (0)编辑 收藏

mysql备份

1. 使用Replication进行实时备份
参考mysql docs
2. 定期在slave上使用shell,mysqldump,sftp,crontab进行永久备份
#!/bin/sh
export d
=`date +%Y%m%d%H%M%S`
mkdir 
-/data/dbbak/baktables/$d
for i in `echo "show tables" | mysql -u bak -ppassword db|grep -v Tables`;
do    
  echo $i; mysqldump 
--add-drop-table --allow-keywords ----u bak -ppasswod mbook_hd $i > backup/$d/$i.sql
done

tar czf backup
/$d.tar.gz backup/$d/
rm 
-rf backup/$d/

lftp 
-"cd /dbbak/; mput -c $d.tar.gz; quit" -u bak,password sftp://192.168.0.138
参考http://ocaoimh.ie/simple-mysql-backup/
10G级别的可以每天作一次备份,100G级别看带宽和硬盘,T级没有经验

posted @ 2009-12-29 20:17 waterye 阅读(1022) | 评论 (0)编辑 收藏

检查哪些文件以\n结束

#!/usr/bin/env python
import string, os, sys  
   
dir 
= '/home/waterye/works/'  

files 
= os.listdir(dir)
for f in files:
    
if not os.path.isfile(dir+os.sep+f): continue
    linecount 
= 0
    fp 
= open(dir+os.sep+f,'r')
    
for line in fp:
        linecount 
+= 1
    fp 
= open(dir+os.sep+f,'r')
    
for i,line in enumerate(fp):
        
if (i==linecount-1 and line.endswith('\n')):
            
print f
            
print "--------------------------------"
* bash太难理解,还是用py看上去舒服,虽然不专业,但能完成任务就行

posted @ 2009-02-19 22:33 waterye 阅读(875) | 评论 (0)编辑 收藏

perl milliseconds

"perldoc DateTime" would have told you how to format milliseconds.

  
use DateTime;
  
use Time::HiRes qw(time);
  
my $dt = DateTime->from_epoch( epoch => time() );
  
print $dt->strftime('%Y-%m-%d %H-%M-%S-%3N'), "\n";

* sudo apt-get install libdatetime-perl

perl真麻烦

posted @ 2008-12-04 23:33 waterye 阅读(1046) | 评论 (0)编辑 收藏