存档

作者存档

新概念--时间管理

2009年11月21日 无风的飘逸 1 条评论

我很忙, 从而很乱, 一切都很乱, 因为事很多, 时间很少。 其实时间还是挺多的, 只是我不会用而已, 于是我需要接触新的一门学问, 时间管理。 管理好我的时间, 利用好我的青春, 这也是一种能力, 我会变强的。 加油! 无风。

Share
分类: 邹清水 标签:

ATnotes,很方便的查看找文档文件内容的小软件

2009年11月21日 无风的飘逸 没有评论

ATnotes,一个小工具,但是它具体方便快捷地查看文档第一页内容的能力,使用方便,快捷。
下载地址很难找,无风在网络上爬了好几年了,头一次看见这个东西。
这个软件是一个朋友给的,我就放在我博客上,做做备份。
ATnotes下载地址

Share
分类: 邹清水 标签:

做了一个SCP和软链接的测试

2009年11月18日 无风的飘逸 1 条评论

今天做了一个软件 链接在SCP下的测试;
使用SCP传输一个文件夹的时候,如果该文件下含有软链接,则会把这个软件 链接当成一个真实的“文件(夹)”进行处理。
如,我的网站根目录下有一个images软链接,是连接到/data0/images 的,我使用SCP传输这个网站的时候,/data0/images里的文件全部跑到网站根目录的images下了。
想想,如果传输的站群都有同样的一个软链接,那就会有无数个images文件夹被复制,产生大量的冗余数据。可怕!

Share
分类: Linux 技术 标签: ,

centOS服务器的时区设置

2009年11月15日 无风的飘逸 没有评论

买来的服务器,时区五花八门,实在不好管理。
今天决心将他们统一成西六区,可是西六区的城市是哪个呢?
终于打到了,原来是CST
现在开始配置服务器的时区。(为了节省时间,我把命令写在记事本里,然后每台服务器的ssh窗口里都粘贴一次,哈哈哈)
这样做的好处在于,我只要检查一次我的命令就可以了,其它的就一样的了。
5:52:58 开始设置时区,所有服务器的时间均为GMT-6(CST)时区的时间
一、 安装ntp时间同步服务
  yum install -y ntp
二、 设置时区为CST
cp /usr/share/zoneinfo/CST6CDT /etc/localtime
三、 手动同步一次时间
ntpdate us.pool.ntp.org

Share
分类: Linux 技术, 邹清水 标签: , ,

Linux 下如何快速找到文件_locate命令详解

2009年11月15日 无风的飘逸 没有评论

我在linux下,不是很熟悉使用find的命令,所以比较习惯用locate命令。

不过这次iredos由于精简的原因,没有安装locate包,

我尝试yum install locate,结果没有这个包。

yum list | grep locate

yum install mlocate

updatedb

这个时候,你就可以使用locate来查找文件。

Share
分类: Linux 技术 标签: ,

mysqldump: Got error: 1556: You can’t use locks with log tables. when using LOCK TABLES

2009年11月13日 无风的飘逸 没有评论

最近在做数据库备份的时候,遇到这样的一个错误:

mysqldump: Got error: 1556: You can't use locks with log tables. when using LOCK TABLES

我是把一些mysqldump语句放在一个批量命令文件(传说中的.sh文件)中执行的,而当我把这些
mysqldump语句分离开来一个一个执行的时候,我发现是没有任何错误的,于是在网络上找了一些资料:
发现是mysql默认数据库里的logs表,不能被加锁(lock tables)引起的。
于是我测试了一下,把关于mysql这个默认数据库相关的语句清空后,整个文件即可正常运行。
还有一个解决方法:
便是在mysql这个数据库相关的那句mysqldump加上 --lock-tables=0 这个参数,不锁表备份,也是可行的。

Share

弊端

2009年11月11日 无风的飘逸 2 条评论

今天突然发现,我的博客有个弊端。
研究发现:无风的飘逸这厮很懒,博客里情感类的文章很少,严重影响到其亲朋好友对这个博客的关注程度。
正方意见:作为一个ITER,博客上只写技术性的文章也是难免的嘛,至于情感类的文章,有空就写,没空也就没必要去写了。
反方意见:如果朋友们进来看见的都是枯燥的专业性文章,很自然会感觉插不上话,久而久之,便会失去了去看你的博客的兴趣。

Share
分类: 情感社区, 邹清水 标签:

nginx的一个常见错误

2009年11月8日 无风的飘逸 1 条评论

[emerg] 14360#0: bind() to 0.0.0.0:80 failed (98: Address already in use)

今天nginx出错了,查看日志的时候,看到了上面的这个错误信息,急得满头大汗,哪个天杀的把80端口给占了?
上网络上找了那多信息,有说是让阿帕奇占用了,
经过检查我的系统没有安装阿帕奇。

也有说要关迅雷的,
天啊,我的是linux系统,迅雷怕是还没有在linux下生存的能耐。

有人说,其实没有错,是nginx重复开启了,端口被它自己给监听了。
胡扯!我的nginx出错了,我把它关……等等,为什么查看进程的时候有一个很熟悉的进程跑上来了?
= =#果然是这个原因,nginx重复开启。

原来这么一个简单的错误都会把我搞晕,看来需要系统地学习一下nginx了,因为据说公司打算继续使用nginx。

Share
分类: nginx 标签: ,

MYSQL 教程之MYSQLDUMP使用全攻略

2009年11月7日 无风的飘逸 没有评论

MYSQL教程:mysqldump使用全攻略

mysqldump是一个mysql自带的数据库工具,它是一个由shell调用的工具软件,并不是sql命令。
shell> mysqldump [OPTIONS] database [tables]
如果你不给它指定任何表,整个数据库将被mysqldump导出。

如果你想查看mysqldump的版本信息和帮助,通过执行mysqldump –help可实现。
注意,如果你运行mysqldump没有–quick或–opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。

mysqldump支持下列选项:

–add-locks
在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。
–add-drop-table
在每个create语句之前增加一个drop table。
–allow-keywords
允许创建是关键词的列名字。这由表名前缀于每个列名做到。
-c, –complete-insert
使用完整的insert语句(用列名字)。
-C, –compress
如果客户和服务器均支持压缩,压缩两者间所有的信息。
–delayed
用Insert DELAYED命令插入行。
-e, –extended-insert
使用全新多行Insert语法。(给出更紧缩并且更快的插入语句)
-#, –debug[=option_string]
跟踪程序的使用(为了调试)。
–help
显示一条帮助消息并且退出。
–fields-terminated-by=…

–fields-enclosed-by=…

–fields-optionally-enclosed-by=…

–fields-escaped-by=…

–fields-terminated-by=…
这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义。
LOAD DATA INFILE语法。
-F, –flush-logs
在开始导出前,洗掉在MySQL服务器中的日志文件。
-f, –force,
即使我们在一个表导出期间得到一个SQL错误,继续。
-h, –host=..
从命名的主机上的MySQL服务器导出数据。缺省主机是localhost。
-l, –lock-tables.
为开始导出锁定所有表。
-t, –no-create-info
不写入表创建信息(Create TABLE语句)
-d, –no-data
不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的!
–opt
同–quick –add-drop-table –add-locks –extended-insert –lock-tables。
应该给你为读入一个MySQL服务器的尽可能最快的导出。
-pyour_pass, –password[=your_pass]
与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqldump需要来自终端的口令。
-P port_num, –port=port_num
与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)
-q, –quick
不缓冲查询,直接导出至stdout;使用mysql_use_result()做它。
-S /path/to/socket, –socket=/path/to/socket
与localhost连接时(它是缺省主机)使用的套接字文件。
-T, –tab=path-to-some-directory
对于每个给定的表,创建一个table_name.sql文件,它包含SQL Create 命令,和一个table_name.txt文件,它包含数据。 注意:这只有在mysqldump运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据–fields-xxx和–lines–xxx选项来定。
-u user_name, –user=user_name
与服务器连接时,MySQL使用的用户名。缺省值是你的Unix登录名。
-O var=option, –set-variable var=option设置一个变量的值。可能的变量被列在下面。
-v, –verbose
冗长模式。打印出程序所做的更多的信息。
-V, –version
打印版本信息并且退出。
-w, –where=’where-condition’
只导出被选择了的记录;注意引号是强制的!
“–where=user=’jimf’” “-wuserid>1″ “-wuserid<1″

最常见的mysqldump使用可能制作整个数据库的一个备份:

mysqldump –opt database > backup-file.sql

但是它对用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的:

mysqldump –opt database | mysql –host=remote-host -C database

由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:

shell> mysqladmin create target_db_name
shell> mysql target_db_name < backup-file.sql
就是
shell> mysql 库名 < 文件名

================================
几个常用用例:

1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.导出一个数据库结构
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql

-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

4.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p

mysql>use 数据库

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:\wcnc_db.sql

Share

教你怎么看top命令-linux进度

2009年11月4日 无风的飘逸 没有评论

在linux里执行top命令,看得我眼都花了,特地去找了这个方面的知识,收藏起来以备急用!
Tasks: 29 total 进程总数
1 running 正在运行的进程数
28 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
Cpu(s): 0.3% us 用户空间占用CPU百分比
1.0% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
0.0% hi
0.0% si

Mem: 191272k total 物理内存总量
173656k used 使用的物理内存总量
17616k free 空闲内存总量
22052k buffers 用作内核缓存的内存量
Swap: 192772k total 交换区总量
0k used 使用的交换区总量
192772k free 空闲交换区总量
123988k cached 缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。

进程信息区统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
序号 列名 含义
a PID 进程id
b PPID 父进程id
c RUSER Real user name
d UID 进程所有者的用户id
e USER 进程所有者的用户名
f GROUP 进程所有者的组名
g TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
h PR 优先级
i NI nice值。负值表示高优先级,正值表示低优先级
j P 最后使用的CPU,仅在多CPU环境下有意义
k %CPU 上次更新到现在的CPU时间占用百分比
l TIME 进程使用的CPU时间总计,单位秒
m TIME+ 进程使用的CPU时间总计,单位1/100秒
n %MEM 进程使用的物理内存百分比
o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
r CODE 可执行代码占用的物理内存大小,单位kb
s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
t SHR 共享内存大小,单位kb
u nFLT 页面错误次数
v nDRT 最后一次写入到现在,被修改过的页面数。
w S 进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程
x COMMAND 命令名/命令行
y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
z Flags 任务标志,参考 sched.h

很可惜,没有hi和si的解释。

Share
分类: Linux 技术 标签: ,