}
db.$cmd.sys.killop.findOne({op:opid值}) # 结束进程
八、备份还原{
./mongoexport -d test -c t1 -o t1.dat # 导出JSON格式 -c # 指明导出集合 -d # 使用库
./mongoexport -d test -c t1 -csv -f num -o t1.dat # 导出csv格式 -csv # 指明导出csv格式 -f # 指明需要导出那些例
db.t1.drop() # 登录后删除数据
./mongoimport -d test -c t1 -file t1.dat # mongoimport还原JSON格式 ./mongoimport -d test -c t1 -type csv --headerline -file t1.dat # mongoimport还原csv格式数据 --headerline # 指明不导入第一行 因为第一行是列名
./mongodump -d test -o /bak/mongodump # mongodump数据备份 ./mongorestore -d test --drop /bak/mongodump/* # mongorestore恢复 --drop #恢复前先删除 db.t1.find() #查看 # mongodump 虽然能不停机备份,但市区了获取实时数据视图的能力,使用fsync命令能在运行时复制数据目录并且不会损坏数据 # fsync会强制服务器将所有缓冲区的数据写入磁盘.配合lock还阻止对数据库的进一步写入,知道释放锁为止 # 备份在从库上备份,不耽误读写还能保证实时快照备份 db.runCommand({\ # 执行强制更新与写入锁 db.$cmd.sys.unlock.findOne() # 解锁 db.currentOp() # 查看解锁是否正常 } 九、修复{ # 当停电或其他故障引起不正常关闭时,会造成部分数据损坏丢失 ./mongod --repair # 修复操作:启动时候加上 --repair # 修复过程:将所有文档导出,然后马上导入,忽略无效文档.完成后重建索引。时间较长,会丢弃损坏文档 # 修复数据还能起到压缩数据库的作用
db.repairDatabase() # 运行中的mongodb可使用 repairDatabase 修复当前使用的数据库 {\ # 通过驱动程序 } 十、python使用mongodb{
原文: http://blog.nosqlfan.com/html/2989.html
easy_install pymongo # 安装(python2.7+) import pymongo
connection=pymongo.Connection('localhost',27017) # 创建连接 db = connection.test_database # 切换数据库 collection = db.test_collection # 获取collection # db和collection都是延时创建的,在添加Document时才真正创建 文档添加, _id自动创建 import datetime post = {\ \ \ \ posts = db.posts posts.insert(post) ObjectId('...') 批量插入 new_posts = [{\ \ \ \ {\ \ \ \ posts.insert(new_posts) [ObjectId('...'), ObjectId('...')]
获取所有collection db.collection_names() # 相当于SQL的show tables
获取单个文档 posts.find_one()
} JDK安装{
chmod 744 jdk-1_5_0_14-linux-i586.bin ./jdk-1_5_0_14-linux-i586.bin }
查询多个文档 for post in posts.find(): post
加条件的查询 posts.find_one({\
高级查询 posts.find({\统计数量 posts.count()
加索引 from pymongo import ASCENDING, DESCENDING posts.create_index([(\查看查询语句的性能 posts.find({\ posts.find({\
vi /etc/profile # 添加环境变量
export JAVA_HOME=/usr/local/jdk1.5.0_14 export
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin . /etc/profile jps -ml # 查看java进程 } }
5网络{
rz # 通过ssh上传小文件 sz # 通过ssh下载小文件 ifconfig eth0 down # 禁用网卡 ifconfig eth0 up # 启用网卡 ifup eth0:0 # 启用网卡 mii-tool em1 # 查看网线是否连接 traceroute www.http://www.wodefanwen.com/ # 测试跳数 vi /etc/resolv.conf # 设置DNS nameserver IP 定义DNS服务器的IP地址 nslookup www.moon.com # 解析域名IP dig -x www.http://www.wodefanwen.com/ # 解析域名IP dig +short txt hacker.wp.dg.cx # 通过 DNS 来读取 Wikipedia 的hacker词条 host -t txt hacker.wp.dg.cx # 通过 DNS 来读取 Wikipedia 的hacker词条 tcpdump tcp port 22 # 抓包 lynx # 文本上网 wget -P 路径 http地址 # 下载 包名:wgetrc dhclient eth1 # 自动获取IP mtr -r www.http://www.wodefanwen.com/ # 测试网络链路节点响应时间 # trace ping 结合 ipcalc -m \ # 根据IP和主机最大数计算掩码 curl -I www.http://www.wodefanwen.com/ # 查看网页http头 curl -s www.http://www.wodefanwen.com/ # 不显示进度 queryperf -d list -s DNS_IP -l 2 # BIND自带DNS压力测试 [list 文件格式:www.turku.fi A]
telnet ip port # 测试端口是否开放,有些服务可直接输入命令得到返回状态 echo \ # 适用于telnet一类登录得到命令返回 curl -o /dev/null -s -m 10 --connect-timeout 10 -w %{http_code} $URL # 检查页面状态 curl -d \http://www.abc.cn/Result # 提交web页面表单 需查看表单提交地址 rsync -avzP -e \-p 22\/dir user@$IP:/dir # 同步目录 # --delete 无差同步 删除目录下其它文件 sshpass -p \ rsync -avzP -e \ user@$IP:/dir/ # 指定密码避免交互同步目录 ifconfig eth0:0 192.168.1.221 netmask 255.255.255.0 # 增加逻辑IP地址 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all # 禁ping net rpc shutdown -I IP_ADDRESS -U username%password # 远程关掉一台WINDOWS机器 wget --random-wait -r -p -e robots=off -U Mozilla www.example.com # 递归方式下载整个网站 网卡流量查看{
watch more /proc/net/dev # 实时监控流量文件系统 累计值 iptraf # 网卡流量查看工具
nethogs -d 5 eth0 eth1 # 按进程实时统计网络流量 epel源nethogs sar {
-n参数有6个不同的开关: DEV | EDEV | NFS | NFSD | SOCK | ALL DEV显示网络接口信息 EDEV显示关于网络错误的统计数据 NFS统计活动的NFS客户端的信息 NFSD统计NFS服务器的信息 SOCK显示套 接字信息 ALL显示所有5个开关 sar -n DEV 1 10 rxpck/s # 每秒钟接收的数据包 txpck/s # 每秒钟发送的数据包 rxbyt/s # 每秒钟接收的字节数 txbyt/s # 每秒钟发送的字节数 rxcmp/s # 每秒钟接收的压缩数据包 txcmp/s # 每秒钟发送的压缩数据包 rxmcst/s # 每秒钟接收的多播数据包 } } netstat{ # 几十万并发的情况下netstat会没有响应,建议使用 ss 命令 -a # 显示所有连接中的Socket -t # 显示TCP连接 -u # 显示UDP连接 -n # 显示所有已建立的有效连接 netstat -anlp # 查看链接 netstat -r # 查看路由表 } ss{ # netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多 ss -s # 列出当前socket详细信息 ss -l # 显示本地打开的所有端口