好用的MySQL备份工具[zt]

|

 

 
我以前备份都使用mysqldump,导成文本文件便于存放,但是速度很慢的。最快的备份方法当然是直接把数据目录copy一份了。但是一般来说,都要关闭 MySQL的服务才能做,不然在你copy的时候刚好还有人读写表那麻烦就大了。这次朋友介绍我使用mysqlhotcopy。就相当于上面,不过他可以热备份.他备份非常快,我测试一个2.8G的mysql他备份的时间在3分钟内完成.
下面是它的介绍.
mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库目录所在的机器上。mysqlhotcopy只用于备份MyISAM。它运行在Unix和NetWare中
 
使用方法见下面的脚本.加入crotab中吧.
 
#!/bin/sh
# Name:mysqlbackup.sh
# PS:MySQL DataBase Backup,Use mysqlhotcopy script.
# Last Modify:2008-06-12
# 定义变量,请根据具体情况修改
# 定义脚本所在目录
scriptsDir=`pwd`
 
# 数据库的数据目录
dataDir=/var/lib/mysql
 
# 数据备份目录
tmpBackupDir=/tmp/mysqlblackup
backupDir=/backup/mysql
 
# 用来备份数据库的用户名和密码
mysqlUser=root
mysqlPWD='you password'
 
 
# 如果临时备份目录存在,清空它,如果不存在则创建它
if [[ -e $tmpBackupDir ]]; then
 rm -rf $tmpBackupDir/*
else
 mkdir $tmpBackupDir
fi
 
# 如果备份目录不存在则创建它
if [[ ! -e $backupDir ]];then
 mkdir $backupDir
fi
 
# 得到数据库备份列表,在此可以过滤不想备份的数据库
for databases in `find $dataDir -type d | \
 sed -e "s/\/var\/lib\/mysql\///" | \
 sed -e "s/test//"`; do
 if [[ $databases == "" ]]; then
    continue
 else
 
# 备份数据库
/usr/bin/mysqlhotcopy --user=$mysqlUser --password=$mysqlPWD -q "$databases" $tmpBackupDir
    dateTime=`date "+%Y.%m.%d %H:%M:%S"`
    echo "$dateTime Database:$databases backup success!" >>MySQLBackup.log
 fi
done
 
 
# 压缩备份文件
date=`date -I`
cd $tmpBackupDir
tar czf $backupDir/mysql-$date.tar.gz ./
 
#End完成
 
 
 
 
加入到crontab中设置每周5运行
0 0 * * 5 /backup/blackup.sh
 
 
注意:恢复数据库到备份时的状态
mysqlhotcopy 备份出来的是整个数据库目录,使用时可以直接拷贝到 mysqld 指定的 datadir (在这里是 /var/lib/mysql/)目录下即可,同时要注意权限的问题,如下例:
shell> cp -rf db_name /var/lib/mysql/
shell> chown -R mysql:mysql /var/lib/mysql/ (将 db_name 目录的属主改成 mysqld 运行用户)
本套备份策略只能恢复数据库到最后一次备份时的状态,要想在崩溃时丢失的数据尽量少应该更频繁的进行备份,要想恢复数据到崩溃时的状态请使用主从复制机制(replication)。
 
小技巧:
不想写密码在shell中的话,可以在root的home目录下建立一个.my.cnf文件,以便让mysqlhotcopy从中读取用户名/密码。
[mysqlhotcopy]
user=root
password=YourPassword
然后安全起见,chmod一下。
chmod 600 ~/.my.cnf
 
附:mysqlhotcopy常用参数:
 
 
 
·     --allowold            如果目标存在不放弃(加上一个_old后缀重新命名它)。
·     --checkpoint=db_name.tbl_name      在指定的db_name.tbl_name插入检查点条目。
·     ---debug                     启用调试输出。
·     --dryrun,-n         报告动作而不执行它们。
·     --flushlog             所有表锁定后刷新日志。
·     --keepold                    完成后不删除以前(重新命名的)的目标。
·     -- method=command          复制方法(cp或scp)。
·     --noindices          备份中不包括全部索引文件。这样使备份更小、更快。可以在以后用myisamchk -rq重新构建索引。
·     --password=password,-p password       当连接服务器时使用的密码。请注意该选项的密码值是不可选的,不象其它MySQL程序。
·     --port=port_num,-P port_num 当连接本地服务器时使用的TCP/IP端口号。
·     --quiet,-q           除了出现错误时保持沉默。
·     --regexp=expr             复制所有数据库名匹配给出的正则表达式的数据库。
·     --socket=path,-S path      用于连接的Unix套接字文件。
·     --suffix=str          所复制的数据库名的后缀。
·     --tmpdir=path              临时目录(代替/tmp)。
·     --user=user_name,-u user_name     当连接服务器时使用的MySQL用户名。
 
mysqlhotcopy从选项文件读取[client]和[mysqlhotcopy]选项组。要想执行mysqlhotcopy,你必须可以访问备份的表文件,具有那些表的SELECT权限和RELOAD权限(以便能够执行FLUSH TABLES)。
 
http://www.php-oa.com

d

squid.conf 经典配置 2.5 [ZT]

|

visible_hostname cache.sudone.com

#Pattern
refresh_pattern       -i  .htm               1         80%      10      override-expire ignore-reload
refresh_pattern       -i  .html              1         80%      10      override-expire ignore-reload
refresh_pattern       -i  .jsp               1         80%      10      override-expire ignore-reload
refresh_pattern       -i  .swf               360       100%     360     override-expire ignore-reload
refresh_pattern       -i  .flv               360       100%     360     override-expire ignore-reload
refresh_pattern       -i  .wmv               360       100%     360     override-expire ignore-reload
refresh_pattern       -i  .asf               360       100%     360     override-expire ignore-reload
refresh_pattern       -i  .                  1         80%      10      override-expire ignore-reload

http_port 80

acl adminBoxes src 127.0.0.1

cache_access_log /dev/null

maximum_object_size 4 MB
minimum_object_size 1 bytes
maximum_object_size_in_memory 1 MB


cache_dir aufs /data/squid/cache 4096 64 64
cache_mem 1024 MB


acl Host1 dstdomain .sudone.com .abc.com

###########################################

#base
pid_filename var/logs/squid.pid
#dns_nameservers 127.0.0.1
cache_effective_user squid
cache_effective_group squid
httpd_accel_host virtual
httpd_accel_single_host off
httpd_accel_port 80
httpd_accel_uses_host_header on
httpd_accel_with_proxy on
icp_port 0
strip_query_terms off

#net
negative_ttl 10 seconds
negative_dns_ttl 30 minutes
read_timeout 3 minutes
persistent_request_timeout 60 seconds
pconn_timeout 30 seconds
client_persistent_connections on
server_persistent_connections on
pipeline_prefetch on
half_closed_clients off
shutdown_lifetime 120 seconds

#mem
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_swap_low 85
cache_swap_high 95
memory_pools_limit 50 MB
client_db off

#acl
acl acceleratedProtocol protocol HTTP
acl acceleratedPort port 80
acl all src 0.0.0.0/0.0.0.0
http_access allow acceleratedProtocol acceleratedPort Host1
acl purge method PURGE
http_access allow adminBoxes purge
http_access deny purge
acl manager proto cache_object
http_access allow manager adminBoxes
http_access deny all

#log
emulate_httpd_log on
cache_store_log none

找到一个购于十年前IBM的键盘

|

整理仓库时看到这个键盘,试了一下手感,爽! 替换下现在使用的DELL键盘(下面黑的那个) 键盘很沉,击键的感觉非常好,擦拭了一下,还是和新的一样,还是老货色好啊

mount_smbfs 挂载共享

|

现在主要用 FreeBSD 7.0 做桌面,共享文件服务器上的文件(CIFS 方式),方法

%mount_smbfs -h
usage: mount_smbfs [-E cs1:cs2] [-I host] [-L locale] [-M crights:srights]
                   [-N] [-O cowner:cgroup/sowner:sgroup] [-R retrycount]
                   [-T timeout] [-W workgroup] [-c case] [-d mode] [-f mode]
                   [-g gid] [-n opt] [-u uid] //user@server/share node

我的文件服务器也是自建的,BSD 6.2两个硬盘做的 RAID/ 支持/ CIFS /NFS 下面以CIFS方式连接

mount_smbfs -I share '//tea@share/software' /media/share_software

服务器是samba user级别,-I 是指定主机 IP 用户可以要求密码的,也可以不要.用户名就是 tea /如果指定参数 -N 就是不要密码,最后面的是挂载点

on mac for pc

|

又换了...... 现在我的感情是一点也不专一,又爱上了mac,没米,只要装装网上down的

  型号名称: Mac Pro

  型号标识符: MacPro3,1

  处理器名称: Intel Core 2 Duo

  处理器速度: 1.8 GHz

  处理器数量: 1

  总核心数: 2

  L2 缓存: 1 MB

  内存: 2 GB

  总线速度: 800 MHz

  Boot ROM 版本: BOOT.EFI.V80

  序列号: CK157KMHK5B

 

BSD 也还在用,脚下放二台机器,还挺热的.

安装好的东西有 office 2008 for mac / QQ / MSN / Google Desktop /Fit 还有很多要学,很多东西要装,慢慢来吧

 

About.mac.jpg