1.远程mongodb访问语句
mongo -u root -p password ip:port/dbname
2.查询多层内嵌文档
db.collection.find("p.c.name":val);
3.过滤查询数据后导出到本地,导出文件在bin文件夹下
mongoexport -h ip -d dbname -c collection -q "{'p.c.name':'val'}" -o wm.cvs
4.关闭mongodb数据库
方法1
./mongod --shutdown -f /etc/mongo.conf
方法2
pkill mongod
[root@localhost bin]# ps -o pid,command ax| grep mongod | awk '!/awk/ && !/grep/ {print $1}'
1915
[root@localhost bin]# ps aux | grep mongo
root 1915 0.2 1.8 465872 36120 ? Sl 01:07 0:03 /usr/local/mongodb/bin/mongod -f /etc/mongo.conf
root 1926 0.0 0.7 610720 14436 pts/2 Sl+ 01:07 0:00 ./mongo 10.1.172.27:27017
root 1939 0.0 0.0 103236 852 pts/1 S+ 01:34 0:00 grep mongo
[root@localhost bin]# ps aux | grep mongod | grep -v "grep" |awk -F" " '{print $2}'
1915
然后 kill 1915
kill -2 pid
方法3 进入mongo shell :运行
db.shuidownServer()
5.mongodb启动报错
Starting mongod: Wed May 29 16:32:31.518
Wed May 29 16:32:31.518 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Wed May 29 16:32:31.518
about to fork child process, waiting until server is ready for connections.
forked process: 17684
all output going to: /var/log/mongo/mongod.log
ERROR: child process failed, exited with error number 100
处理方法:
rm -f /data/mongod.lock
./mongod --repair
然后重启mongodb。
6.设置mongodb自动启动,将如下命令添加到/etc/rc.local
/usr/local/mongodb/bin/mongod -f /etc/mongo.conf --fork
7.查看防火墙,可能导致远程不能登录mongodb
[root@localhost bin]# /etc/init.d/iptables status
关闭
[root@localhost bin]# /etc/init.d/iptables stop
git方面
working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了。
index file:是索引文件,它是连接working tree和commit的桥梁,每当我们使用git-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了。
commit:是最后的阶段,只有commit了,我们的代码才真正进入了git仓库。我们使用git-commit就是将index file里的内容提交到commit中。
1.查看对比
git status
2.获取最新版本
git pull
3.新增一个文件
git add /doc
4.提交
git commit doc/interface/vast.md -m "doc - vast mod"
5.提交到远端
git push
6.全目录循环更新
git pull --submodules用来显示命令提示
git pull --recurse-submodules
7.对比差异
git diff:是查看working tree与index file的差别的。
git diff --cached:是查看index file与commit的差别的。
git diff HEAD:是查看working tree和commit的差别的。(你一定没有忘记,HEAD代表的是最近的一次commit的信息)
8.log查看
git log 查看 当前分支的 提交历史
在提交了若干更新之后,想回顾下提交历史,可以使用 git log 命令查看
默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面。看到了吗,每次更新都有一个 SHA-1 校验和、作者的名字 和 电子邮件地址、提交时间,最后缩进一个段落显示提交说明。
git log 有许多选项可以帮助你搜寻感兴趣的提交,接下来我们介绍些最常用的。
我们常用 -p 选项 展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新:
$ git log -p -2
此外,还有许多摘要选项可以用,比如 --stat,仅简要的显示 文件 增改行数统计,每个提交都列出了修改过的文件,以及其中添加和移除的行数,并在最后列出所有增减行数小计。
$ git log --stat
--author 仅显示指定作者相关的提交。
$ git log --author=wm
查找 wm提交的 版本;
9.撤销本地更改
git checkout xxx
10.分支管理
通过git clone获取的远端git库,只包含了远端git库的当前工作分支。
如果想获取其它分支信息,需要使用”git branch –r” 来查看, 如果需要将远程的其它分支代码也获取过来,可以使用命令:
git checkout -b 本地分支名 远程分支名
其中,远程分支名为git branch –r所列出的分支名, 一般是诸如“origin/分支名”的样子。如果本地分支名已经存在, 则不需要“-b”参数。
git查看分支
[wm@adx ~/miad]$ git branch -r
origin/HEAD -> origin/master
origin/dev
origin/master
[wm@adx ~/miad]$ git checkout -b dev origin/dev
M mevent
Previous HEAD position was 1ac1a43... OTT=100
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'dev'
[wm@adx ~/miad]$ git branch
* dev
master
git切换分支
[wm@adx ~/miad/walk]$ git checkout dev
git查看归属分支
[wm@adx ~/miad/walk]$ git branch
* dev
master
[wm@adx ~/miad/walk]$ git push origin dev
git从http到ssh,防止提交时身份认证输入
Administrator@S8UUZHAMA4G7PPW ~/my_vim_ide
$ git remote set-url origin git@github.com:wmengbeyond/my_vim_ide.git
windows下vhost修改
C:\Windows\System32\drivers\etc\hosts
10.1.172.10 x.da.hunantv.com
用户组操作
将一个用户添加到用户组中,千万不能直接用:
usermod -G groupA
这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员。
应该用 加上 -a 选项:
usermod -a -G groupA user
nginx方面
1.启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2.重新加载conf
/usr/local/nginx/sbin/nginx -s reload
linux命令
1.查找文件
find -name 'sitemap.*'
diff -u Makefile ../run/Makefile
3.显示history日期
export HISTTIMEFORMAT='%F %T '
mevent方面
1.mbase的操作
cd mevent/mbase/
make install
cd mtl/
viki方面
1基本操作
killall viki
kill -9 viki
spawn-fcgi -F 1 -d /var/www/wm-miad/run/ -f /var/www/wm-miad/run/viki -s /var/run/wm-viki.socket -u www
spawn-fcgi -F 1 -d /var/www/miad/run/ -f "/var/www/miad/run/viki /var/www/miad/config.hdf" -s /var/run/viki.socket -u www
spawn-fcgi -F 1 -d /var/www/wm-miad/run/ -f "/var/www/wm-miad/run/viki /home/wm/miad/config.hdf" -s /var/run/wm-viki.socket -u www
远端拷贝
scp /home/wm/hb root@192.168.1.16:/home/wm/
mevent方面
/usr/local/miad/mevent/server/daemon/hb short 1001 /etc/mevent/server.hdf >> /tmp/cron_meventhb.log
cat /tmp/cron_meventhb.log
crontab -e
cat /tmp/cron_meventhb.log
[root@localhost daemon]# echo "/corefile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
[root@localhost daemon]# cd /
[root@localhost /]# mkdir corefile
[root@localhost /]# chmod 777 corefile/
/usr/local/miad/mevent/server/daemon/mevent -c /etc/mevent/server.hdf
vim操作
1.显示tab制表符结尾空格
1、显示 TAB 键
文件中有 TAB 键的时候,你是看不见的。要把它显示出来:
:set list
mkdir -p $DIR_BIN$
mkdir -p /var/log/moon/${SITE_NAME}/$
mkdir -p /etc/mevent$
if ! grep '/usr/local/lib' /etc/ld.so.conf > /dev/null 2>&1$
then$
echo "/usr/local/lib" >> /etc/ld.so.conf$
ldconfig$
fi$
EOF$
fi$
$
if [ $CONFIG -eq 1 ]; then$
echo "config file ..."$
rsync ${DIR_CFG}/server_online.hdf root@$i:/etc/mevent/server.hdf$
^I^Irsync ${DIR_CFG}/client_online.hdf root@$i:/etc/mevent/client.hdf$ fi$
$
if [ $BINARY -eq 1 ]; then$
echo "binary ..."$
rsync -rl /usr/local/lib root@$i:/usr/local/$
rsync ${DIR_BIN}mevent root@$i:${DIR_BIN}mevent$
rsync ${DIR_BIN}hb root@$i:${DIR_BIN}hb$
rsync ${DIR_BIN}../test/syscmd root@$i:${DIR_BIN}syscmd$
fi$
$
if [ $RESTART -eq 1 ]; then$
:set list
现在 TAB 键显示为 ^I,而 $显示在每行的结尾,以便你能找到可能会被你忽略的空白字符在哪里。
这样做的一个缺点是在有很多 TAB 的时候看起来很丑。如果你使用一个有颜色的终端,或者使用 GUI 模式,Vim 可以用高亮显示空格和TAB。
使用 ‘listchars’ 选项:
:set listchars=tab:>-,trail:-
现在,TAB会被显示成 ">—" 而行尾多余的空白字符显示成 "-"。
mkdir -p $DIR_BIN
mkdir -p /var/log/moon/${SITE_NAME}/
mkdir -p /etc/mevent
if ! grep '/usr/local/lib' /etc/ld.so.conf > /dev/null 2>&1
then
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig
fi
EOF
fi
if [ $CONFIG -eq 1 ]; then
echo "config file ..."
rsync ${DIR_CFG}/server_online.hdf root@$i:/etc/mevent/server.hdf
>------->-------rsync ${DIR_CFG}/client_online.hdf root@$i:/etc/mevent/client.hdf
fi
if [ $BINARY -eq 1 ]; then
echo "binary ..."
rsync -rl /usr/local/lib root@$i:/usr/local/
rsync ${DIR_BIN}mevent root@$i:${DIR_BIN}mevent
rsync ${DIR_BIN}hb root@$i:${DIR_BIN}hb
rsync ${DIR_BIN}../test/syscmd root@$i:${DIR_BIN}syscmd
fi
:set listchars=tab:>-,trail:-