Linux下DIG命令的基本用法

dig命令是一个用于询问 DNS 域名服务器的灵活的工具。

它执行 DNS 搜索,显示从受请求的域名服务器返回的答复。

多数 DNS 管理 员利用 dig 作为 DNS 问题的故障诊断,因为它灵活性好、易用、输出清晰。

在 unix 和 linux 下,建议大家使用 dig 命令来代替 nslookup。 dig 命令的功能比 nslookup 强大很多,不像 nslookkup 还得 set 来 set 去的,怪麻烦的。

下面是 dig 的一些比较常用的命令:

  # dig 最基本的用法

  dig @server sina.com.cn.

阅读全文

DB Proxy 原理[转]

在大型互联网站的数据库部署中,部署最多的数据库为MySQL。随着MySQL中Innodb存储引擎对事物的支持,MySQL在互联网公司部署中,应用量越来越多。典型应用MySQL的公司有Google、Taobao、Baidu等大型互联网公司。MySQL的优势在于其高扩展性和价格优势等。实际上,MySQL可以免费应用于企业级的部署中。

在MySQL复制方式部署中,有两种部署方式:同步复制和异步复制。同步复制采用NDB存储引擎,异步复制需要使用mysql-proxy结合master-slave实现。

mysql-proxy是一个MySQL的代理服务器,用户的请求先发向mysql-proxy,然后mysql-proxy对用户的数据包进行分析,从下一层的mysql 数据库中选择一台数据库,将用户的请求包交给mysql处理。

首先MySQL Proxy 以服务器的身份接受客户端的请求,根据相应配置对这些请求进行分析处理,然后以客户端的身份转发给相应的后端数据库服务器,再接受服务器的信息,然后返回给客户端。所以MySQL Proxy需要同时实现客户端和服务器的协议。由于要对客户端发送过来的SQL语句进行分析,还需要包含一个SQL解析器。MySQL Proxy通过使用lua脚本,来实现复杂的连接控制和过滤,从而实现读写分离和负载平衡。所以部署MySQL-Proxy需要安装运行Lua语言的环境。典型的MySQL-Proxy应用为实现读写分离。

异步复制主要为了解决读写分离的问题。因为用户对网站的访问有读操作多,写操作少的特点。甚至像taobao.com这样的网站读写比例高达10:1,所以采用MySQL-Proxy结合主从异步复制实现读写分离是非常重要的增快访问速度的方法。这样如果有更高的用户访问需求,通过增加slave机器,不会对现有系统提供的服务产生影响而实现很好的、很灵活的业务扩展。

阅读全文

在使用终端时,由于经常需要切换到其它机器,导致不清楚现在到底在哪台机器,所以希望能在命令行处显示本机IP。

只要做如下处理即可:

编辑/home/username/.bashrc, 即~/.bashrc,加入以下一行。

显示效果:

阅读全文

刚才收到了4000012587这个电话,360安全卫士没有报垃圾电话,不知道是干啥的,想着反正接了也不会亏啥,就接了。接了之后才发现,原来是由于一直忙,忘了还有当初参加移动的活动送的40块钱超市购物券还没使用,提醒月底到期,要去消费。这点做的还挺不错的。没有放着等我过期,还有电话提醒,,。赞一个。

阅读全文

如果在crontab里有个定时任务设置为一分钟执行一次,但是它执行的时间可能会超过一分钟,此时crontab一分钟后会再次运行该脚本,这样就会出现冲突,如果程序不做容错处理,可能会导致出现一些问题。如果想解决这个问题,可以用Linux中的进程锁控制crontab执行的并发问题。

给一个shell脚本加锁,使用flock命令。

一般格式:

flock [-sxun][-w #] fd#

flock [-sxon][-w #] file [-c] command…

常用选项:

-s, –shared :获得一个共享的锁。

-x, –exclusive :获得一个独占的锁。

-u, –unlock :移除一个锁,通常是不需要的,脚本执行完后会自动丢弃锁。

-n, –nonblock :如果没有立即获得锁直接失败而不是等待。

-w, –timeout :如果没有立即获得锁就等待指定的时间。

-o, –close :在运行命令前关闭文件的描述符。用于如果命令产生子进程时会不受锁的管控。

-c, –command :在shell中运行一个单独的命令。

-h, –help :显示帮助。

-V, –version :显示版本。

阅读全文

今天在使用GoAgent时遇到了MultiplexConnection Cannot hosts错误,以前一直都没有问题的,下午突然开始犯病了。问了下同事,也不能用。 解决办法自然也是有的。 找到Goagent/local 目录下的proxy.ini 文件,打开,编辑[gae]选项卡下的profile = google_cn 选项,改为profile = google_hk。然后保存关闭。再重新打开GoAgent就可以啦。

阅读全文

作者的图片

DigDeeply

Technology Stack: Golang/PHP/Openresty, and so on…

Web Development Engineer

Beijing China