linux 系统screen操作, mongoexport 操作的总结

  1. 运行shell脚本:Syntax error: Bad for loop variable错误解决方法
    分析:
    从 ubuntu 6.10 开始,ubuntu 就将先前默认的bash shell 更换成了dash shell;其表现为 /bin/sh 链接倒了/bin/dash而不是传统的/bin/bash。
    解决:
    cd 到 xxx.sh 文件目录,
应该用 bash  xxx.sh   来运行脚本
  1. 解压报错: unzip: cannot find zipfile directory in one of mongo.zip or
    mongo.zip.zip, and cannot find mongo.zip.ZIP, period.
    解决:


    image.png

3.linux screen的用法
https://www.jianshu.com/p/e91746ef4058

1.创建会话:screen -S php
上面命令的意思就是新创建一个名为php的会话
2.离开会话,按住键盘上的ctrl,然后依次按a和d,好了,又回到主会话了,这时你可以继续创建其它会话或者执行其它命令,对我们创建的会话内容没有任何影响,你甚至可以退出会话;
3.恢复创建的会话:如果还记得会话名称,可以输入命令:

screen -r php

上面命令的意思就是恢复名为php的会话,如果你只创建了一个会话,直接如入命令

screen -r

就可以恢复了,如果不记得会话名称或者我直接输入screen创建的会话,怎么办呢,那就要用到下面的命令;
4.查看已经创建的会话:

screen -ls

上面的命令的意思就是查看本机已经创建的会话,可以查看会话的名称和id,恢复时可以使用id代替名称;
5.有时在恢复screen时会出现There is no screen to be resumed matching ****,遇到这种情况咋办呢?输入命令

screen -d ****

然后再使用恢复命令恢复就ok了
6.退出screen,使用screen会耗费一定的系统资源,所以当screen中的命令执行完毕之后,最好退出screen,直接输入命令
exit
就可以退出了。
7.其它命令
Ctrl + a,d #暂离当前会话
Ctrl + a,c #在当前screen会话中创建一个子会话
Ctrl + a,w #子会话列表
Ctrl + a,p #上一个子会话
Ctrl + a,n #下一个子会话
Ctrl + a,0-9 #在第0窗口至第9子会话间切换

[阿里云服务器安装mongodb并且启动]

// 1、下载 我是直接在local里面创一个mongodb文件夹进行下载和解压
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz
//2、 解压
tar zxvf mongodb-linux-x86_64-3.2.9.tgz
//3创建数据文件夹和日志文件等
mkdir -p  /usr/local/mongodb/mongodb-3.29/data
touch /usr/local/mongodb/mongodb-3.29/mongod.log
touch /usr/local/mongodb/mongodb-3.29/mongodb.conf
//4启动
//进入你安装的文件夹 cd /usr/local/mongodb/mongodb-3.29/bin
//启动
./mongod --dbpath=/usr/local/mongodb/mongodb-3.29/data --logpath=/usr/local/mongodb/mongodb-3.29/mongod.log --logappend  --port=27017 --fork

./mongod --dbpath=/backup/etc/mongodb/data --logpath=/backup/etc/mongodb/mongod.log --logappend  --port=27017 --fork 
  1. 报错 export_etc.sh: line 9: mongoexport: command not found



    解决:
    在执行脚本中加入mongoexport 程序所在的绝对路径.

mongoexport 执行 shell脚本的路径问题

6.ETC 的rpc 请求参数详情地址:
https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getblockbynumber

  1. mongoimport操作
可以不中断服务,后台运行
新建:screen -S import
暂时离开; ctrl + 依次按下a , d
返回: screen -r import

运行 import : bash mongoimport.sh  加上 上传文件的绝对路径(从根路径开始)
bash xxxx.sh  /backup/etc/new_tx
bash import.sh /backup/etc/new_tx/
  1. 修改linux的环境变量 .bashrc
bashrc是一个隐藏的文件,要打开并修改该文件需要:

(1)命令:ls -a 找到文件 .bashrc;

(2) 命令 vim ~/.bashrc 进入到文件;

(3) 直接按 i 键可以对文件进行修改, Esc + :+ wq 退出并保存修改之后的文件

(4) 命令 :source ~/.bashrc 更新 .bashrc
image.png

前面的mongoexport.sh 不能直接运行的原因就是没有配置环境变量
参考:https://www.cnblogs.com/cursorhu/p/5806596.html

[Linux系统修改PATH环境变量方法]

(https://www.cnblogs.com/cursorhu/p/5806596.html)

在Linux安装一些软件通常要添加路径环境变量PATH.PATH环境变量通俗的讲就是把程序的路径"备案"到系统中,这样执行这些程序时就不需要输入完整路径,直接在bash输入程序名就可以执行.比如常用的ls命令就是添加好了环境变量才可以直接执行ls

export PATH=$PATH:/mongoData/mongodb/bin
**0查看PATH环境变量**

终端输入echo $PATH返回如下,各路径用:隔开. $符号用于展开变量的值.

echo $PATH 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
**1添加路径到PATH**

添加路径可以直接给PATH赋值

export PATH=$PATH:新添加的路径
$PATH是当前的路径1:路径2:路径3 ,在后面追加:新添加的路径,然后把这个新的路径集赋值给PATH本身,相当于覆盖了原PATH变量.export命令是导出变量,相当于更新PATH

**2删除PATH中的路径**

删除PATH中的某个路径也是用以上重新给PATH赋值的方法,比如当前PATH是

echo $PATH
路径1:路径2:路径3:路径4

要删除路径4,只需要copy上面的路径1:路径2:路径3

然后赋值给PATH

export PATH=路径1:路径2:路径3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值