shc脚本加密
shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等.Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件。经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以.x.c结束;
- ubuntu 安装
sudo apt-get install shc
- 使用方法(注意:要有-r选项, -f 后跟要加密的脚本名.):
- 相同在操作系统,shc后的可执行二进制文件直接可以移植运行,但不同操作系统可能会出现问题
- 运行后会生成两个文件,script-name.x 和 script-name.x.c
script-name.x是加密后的可执行的二进制文件.
./script-name.x 即可运行.
script-name.x.c是生成script-name.x的原文件(c语言)
shc -r -f script-name
说明
在使用MongoDB的过程中遇到了许多的问题,稍微操作不慎就会导致数据库异常,首先我们应该做好数据的定时备份以防万一
- 开启mongo db后台服务
- 关闭mongo db服务
- 备份恢复
- 无法连接
开启mongo db后台服务
使用–fork参数启动,这样就是后台启动
mongod --fork --logpath <log_file_path> --dbpath <db_folder_path> --fork 将mongod作为后台服务启动,并必须要跟随 --logpath 指定日志文件路径,如果该日志文件不存在会被自动创建 --dbpath 数据的存储目录建议先设置好配置文件/etc/mongod.conf后,每次手动用命令启动,在里面修改好自己想要的data和log文件的存放路径
mongod –f /etc/mongod.conf //后台启动可以加上 --fork或者加入开机自启动,加入开机自启动脚本里面
/etc/init.d //在这里面添加启动脚本后修改文件的权限关于/etc/mongod.conf中常用的选项介绍:
--dbpath: 指定数据目录,必选,不配置会启动报错; --port: 指定服务监听的端口,默认为27017 --logpath:指定日志路径; --logappend:指定日志是追加模式,或者每次重启MongoDB后清理日志;默认是追加模式; --fork:用此选项创建子进程,在后台运行MongoDB;此选项必先开启logpath选项; --bind_ip: 指定监听的接口;默认是127.0.0.1; --httpinterface: 设定是否在1000的端口启动一个微型的HTTP服务器;默认不开启; --nounixsocket: 设置是否使用UNIX socket; --noscripting: 设置是否完全禁止服务器端JavaScript脚本的运行;mongod.conf配置说明
//日志文件位置 logpath=/data/db/journal/mongodb.log (这些都是可以自定义修改的) // 以追加方式写入日志 logappend=true //是否以守护进程方式运行 fork = true //默认27017 port = 27017 //数据库文件位置 dbpath=/data/db //启用定期记录CPU利用率和 I/O 等待 cpu = true //是否以安全认证方式运行,默认是不认证的非安全方式 noauth = true auth = true //详细记录输出 verbose = true //用于开发驱动程序时验证客户端请求 Inspect all client data for validity on receipt (useful for developing drivers) objcheck = true Enable db quota management // 启用数据库配额管理 quota = true // 设置oplog记录等级 Set oplogging level where n is 0=off (default) 1=W 2=R 3=both 7=W+some reads diaglog=0 Diagnostic/debugging option 动态调试项 nocursors = true // Ignore query hints 忽略查询提示 nohints = true // 禁用http界面,默认为localhost:28017 nohttpinterface = true // 关闭服务器端脚本,这将极大的限制功能 Turns off server-side scripting. This will result in greatly limited functionality noscripting = true // 关闭扫描表,任何查询将会是扫描失败 Turns off table scans. Any query that would do a table scan fails. notablescan = true // 关闭数据文件预分配 Disable data file preallocation. noprealloc = true // 为新数据库指定.ns文件的大小,单位:MB Specify .ns file size for new databases. nssize = // Replication Options 复制选项 in replicated mongo databases, specify the replica set name here replSet=setname maximum size in megabytes for replication operation log oplogSize=1024 path to a key file storing authentication info for connections between replica set members //指定存储身份验证信息的密钥文件的路径 keyFile=/path/to/keyfile
关闭mongo db后台服务
使用shutdownServer(),一台机器上可能运行多个实例,避免关闭出错
# mongo // 从linux命令行进入mongod命令行
> use admin // 切换到管理员模式
> db.shutdownServer() // 关闭mongodb服务
> server should be down...//关闭
- 关闭后用 ps aux | grep mongo 查看是否由此进程,也可用kill杀死mongo进程
kill <mongod process ID>
kill -2 <mongod process ID>
kill -9命令迫使进程在运行时突然终止,进程在结束后不能自我清理。可能导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。
备份恢复
如果是带验证的数据库指定要验证的数据库把密码的选项房子最后
mongodump -h IP地址 –port 端口 -u 用户名 –authenticationDatabase “验证的数据库一般是admin” -d 数据库 -o 文件存在路径 -p 密码
- 备份
//MongoDB备份
mongodump -h IP --port 端口 -u 用户名 -d 数据库 -o 文件存在路径 -p 密码
//mongorestore还原数据库
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
- 参数说明
//一次性备份所有:
mongodump,mongorestore
mongodump:
命令格式:mongodump -h dbhost -d dbname -o dbdirectory
-h: mongodb所在服务器地址,例如127.0.0.1,也可以指定端口:127.0.0.1:8080
-d: 需要备份的数据库名称,例如:test_data
-o: 备份的数据存放的位置,例如:/home/bak
-u: 用户名称,使用权限验证的mongodb服务,需要指明导出账号
-p:用户密码,使用权限验证的mongodb服务,需要指明导出账号密码
mongorestore:
命令格式:mongorestore -h dbhost -d dbname -dorectoryperdb dbdireactory
-h: mongodb所在服务器地址
-d: 需要恢复备份的数据库名称,例如:test_data,可以跟原来备份的数据库名称不一样
-directoryperdb: 备份数据所在位置,例如:/home/bak/test
-drop: 加上这个参数的时候,会在恢复数据之前删除当前数据;
- 拷贝
直接拷贝,注意不要拷贝diagnostic.data文件夹的内容,有风险测试没通过不要用copy的方式
- 导出json格式数据
//导出数据
sudo mongoexport --db 数据库名称 -c 表名 --out newdbexport.json
无法连接
- 执行mongod看报什么错误一般是不能find,data/db
//注意文件的建立路径,然后--dbpath指定mongod.conf文件中path写到/data就好
sudo mkdir -p data/db
- cd /tmp 删除/tmp$ 下mongodb-27017.sock,如果有的话
mongodb-27017.sock
本文介绍了如何使用shc工具对shell脚本进行加密,保护敏感信息。此外,还详细阐述了MongoDB的安装、配置、启动、关闭、备份及恢复的方法。
1102

被折叠的 条评论
为什么被折叠?



