首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Docker构建安全的虚拟空间

实现思路 大体的思路是,我的 vps 上每个用户创建一个文件目录,然后将目录挂载到 docker 容器的默认网站目录,也就是/var/www/html,,用户可以通过 FTP 将网站源码上传到自己的文件目录...创建新的 FTP 用户 这个用户应该满足这样的要求: 可以上传文件到虚拟空间用户文件夹 (废话); 不能访问除虚拟空间用户文件夹之外的位置 (配置 FTP 时通过ch_root 实现); 创建的时候设置一个随机密码...那么对应的 shell 脚本就是: #/home/ubuntu/rooms/ 即你的vps上用来存放用户文件夹的位置 # $1 参数要设置的用户名,也是虚拟空间容器&数据库用户&数据库&用户文件夹的名字...shell 脚本: # 让用户输入 mysql 容器的 root 密码read -sp "请输入 MySQL 容器的 root 账户密码:" mysql_pass# 创建数据库docker exec -...,那么贴上最后的脚本 创建空间脚本: #!

3.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

Shell编程100例,超赞!

/bin/bash # 编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。...,计算机自动创建对应的账户并配置初始密码本脚本执行,需要提前准备一个 user.txt 文件,该文件包含有若干用户名信息 #!.../bin/bash # 使用 user.txt 文件的人员名单,计算机自动创建对应的账户并配置初始密码 # 本脚本执行,需要提前准备一个 user.txt 文件,该文件包含有若干用户名信息 for.../bin/bash # 检测 MySQL 数据库连接数量 # 本脚本每 2 秒检测一次 MySQL 并发连接数,可以将本脚本设置开机启动脚本,或在特定时间段执行 # 以满足对 MySQL 数据库的监控需求.../bin/bash # 安装 LAMP 环境(yum 版本) # 本脚本适用于 RHEL7(RHEL6 数据库 mysql) yum makecache &>/dev/null num=$(

3.2K11

100 个 Linux Shell 脚本经典案例解析

/bin/bash# 编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。..., 计算机自动创建对应的账户并配置初始密码本脚本执行, 需要提前准备一个 user.txt 文件, 该文件包含有若干用户名信息#!.../bin/bash# 使用 user.txt 文件的人员名单,计算机自动创建对应的账户并配置初始密码# 本脚本执行,需要提前准备一个 user.txt 文件,该文件包含有若干用户名信息for i.../bin/bash# 检测 MySQL 数据库连接数量 # 本脚本每 2 秒检测一次 MySQL 并发连接数,可以将本脚本设置开机启动脚本,或在特定时间段执行# 以满足对 MySQL 数据库的监控需求.../bin/bash# 安装 LAMP 环境(yum 版本) # 本脚本适用于 RHEL7(RHEL6 数据库 mysql)yum makecache &>/dev/nullnum=$(yum repolist

3K50

Bash Shell 小试牛刀

,每一个变量的值都是字符串。...延时通常用于程序执行过程中提供一段等待时间(比如1秒)。例如需要在脚本对某项任务每隔5秒监视一次,就需要知道如何在程序中加入延时。...) %s 3.补充内容 脚本推迟执行一段时间,可以用sleep;$sleep no_of_seconds.例如,下面的脚本就使用tput和sleep从0开始计数到40: #!...bash,命令“:”告诉shell不要进行任何操作。 十一、函数和参数 1.实例 我们可以创建执行特定任务的函数,也可以创建能够接受参数的函数。...非0时,返回真 l -gt:大于 l -lt:小于 l -ge:大于或等于 l -le:小于或等于 (4)字符串比较 使用字符串比较时,最好用双括号,因为有时候采用单个中括号会产生错误,所以最好避开它们

1.1K60

运维面试题(每日一题)

-bash-4.1的原因及解决办法 2、如何删除多个文件包含的空格或其他特殊字符,怎么做 3、CPU使用率超过80%或硬盘超过85%邮件报警 4、监控学校的网络出口正常性,需要写一个脚本,操作系统每30...所以要替换空格\n 2.脚本直接执行没有问题,定时任务中有问题,什么原因?...就是没有找到ifconfig,与PATH环境变量有关,PATH环境变量/etc/profile文件设置,而定时任务却是以nologin方式调用脚本,不会加载/etc/profile,所以导致此脚本定时任务执行失败...方法1:脚本ifconfig 命令写全路径 /sbin/ifconfig 方法2:脚本中加入 source /etc/profile 3.nfs客户端挂载信息写入/etc/fstab,系统重启...尽量专库专用户 4、限制开发对生产库的操作权限 5、防止SQL语句注入 第十五周 1.显示/etc/inittab以#开头,且后面跟了一个或多个空白字符,而后又跟了任意非空白字符的行 正则表达式 \

4.9K22

在线运行 Linux,强的离谱!

使用 Webminal,可以练习 Linux 命令、编写 Bash 脚本创建和访问 MySQL 表、学习 Python、C、Ruby、Java、Rust 编程以及使用虚拟平台执行基本的 root 用户任务...Webminal 的功能: 在线 Linux/bash 终端,无需安装; 练习 Linux 命令,包括文件系统、文件管理、 bash/awk/sed 和 MySQL 编写脚本; 可获得 100MB...存储空间; 最多可创建 1000 个文件; 可以创建的最大文件大小 1MB; 可以与社区成员共享文件并让他们使用你的脚本/程序验证/调试问题等; 一个进程可以打开的最大文件数 15; 最多可同时运行...10 个进程; 不能登录多次,除非退出; 创建属于自己的群组并在群组成员之间共享文件; 除此之外,Webminal 官方也明确指出了 MySQL 的特性,如下: MySQL 的特性: 最多可创建 4...可以本地桌面和在线终端之间进行复制和粘贴; cocalc 的特征: 学习 Bash 脚本; 了解如何使用 Linux 命令行; 运行用 Python、R、PHP、Ruby、Go、Perl、Nodejs

3.8K21

技术栈系列基础篇7-linux常见命令

bash -c、xargsbash -c通常使用shell去运行脚本,两种方法 :bash xxx.shbash -c "cmd string"如果用bash -c 那么bash 会从第一个非选项参数后面的字符读取命令...,格式-I R,R可以为一个特殊的字符,起到替换参数的作用bash -c,使用bash解释命令'sed s/,omitempty// X > X.tmp && mv X{.tmp,}',将X参数文件内每行...常用命令选项-F fs fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:-v var=value 赋值一个用户定义变量,将外部变量传递给awk-f scripfile 从脚本文件读取awk命令.../文件 权限- cat /etc/passwd 显示用户列表- cat /etc/group 显示用户组列表- useradd -g test andre 创建用户- groupadd test 创建用户组...)-p,–password 登陆文件添加密码(该密码会被mysql_config_editor自动加密)-u,–user 添加用户名到登陆文件-S,–socket=name 添加sock文件路径到登陆文件

78820

Docker 总结 ubuntu

,第一个参数SRC_PATH,第二个参数DEST_PATH,行为如下: SRC_PATH指定一个文件 DEST_PATH不存在 该文件被保存到创建的文件DEST_PATH DEST_PATH不存在并以...不存在 DEST_PATH被创建一个目录,并且源目录的内容被复制到这个目录 DEST_PATH存在并且是一个文件 错误情况:无法将目录复制到文件 DEST_PATH存在并且是一个目录 SRC_PATH...MYSQL_DATABASE=demodb 镜像创建容器启动时,将创建一个名为 demodb 的数据库,当存在MySQL用户时,此用户将拥有对此数据库的 superuser 权限。...- Stack Overflow -c 命令表示后面的参数将会作为字符串读入 作为执行的命令 举个例子,尝试本地执行下面两个命令: /bin/bash -c ls /bin/bash ls 可以看到..., /bin/bash -c 后面接 命令 ,而 /bin/bash 后面接 执行的脚本

2.1K30

Linux下实现Mysql定时任务备份数据

具体操作,需要将username,password和demo分别替换成对应的数据库用户名、密码和数据库名。...这个问题应该是MySQL5.6+版本的时候就有出现,可能是为了确保数据库的安全性采用的保护机制。本实例中使用的mysql版本5.7.22,虽然有警告信息,但可以成功备份数据。...修改mysql配置文件 针对上面的问题,某些版本可能无法成功备份,另外也不建议将数据库密码配置脚本,则可直接修改mysql的配置文件。一般情况下,mysql的配置文件/etc/my.cnf。...,并修改bcmysql.sh脚本的命令,取消用户名和密码参数,无需重启mysql,直接执行脚本即可看到备份结果。...此问题有两种情况引起,第一种就是数据库本身字符latain1,则此时需要指定字符集,执行的参数添加如下参数: --default-character-set=gbk 当然如果是utf8则将gbk

52320

0654-6.2.0-如何通过CM API获取集群事件并入库到MySQL

作者:唐辉 文档编写目的 Fayson本文中介绍如何通过shell 和python 脚本获取CM重要的告警信息,以便更方便的掌握和分析集群以及集群节点和服务的健康状况。...的方式,通过明文用户和密码,CM创建一个只读用户用来测试。...CM>管理>User&Roles 添加只读用户 关于事件的汇总可以CM界面>诊断>事件 通过添加筛选器来进行查看 编辑Shell 脚本获取数据 CM界面筛选出想要的数据后...区间10分钟 # -o 指定输出文件 # -u 指定用户密码 # CDH6.2 API 版本V32,CDH5.16.1 V19,这里同一个脚本获取两个集群的信息,需确保执行的节点访问两个CM...》 创建MySQL测试表 MySQLtest 库创建事件表eventtable create table eventtable ( eventTime varchar

1.2K10

技术分享 | 两个单机 MySQL 该如何校验数据一致性

本文参考的是 pt-table-checksum 的校验逻辑,基于数据块去遍历每个表,然后比对 checksum 的值判断该块是否一致,本文主要是想聊聊我实现数据校验脚本过程遇到的问题以及解决思路,...如果主键字段是字符型,取数据块的时候查询条件就是 where pk > 'xxx' ,否则查询将不会使用到索引。...3、支持基于表的并行校验 可以基于表的并行校验,可由用户指定并行数,但是脚本有个安全机制,如果用户指定的并行数大于当前 cpu 空闲核心数,就会按当前(空闲核心数-1)作为并行数。...该脚本必须要求整个工具的家目录下执行 (3)常用命令参考 管理脚本相关 bash manager.sh -a start -t eth0 -n 30 启动eth0网卡的流量监控,流量达到30%就暂停数据校验...这个目录会按db创建目录,将记录校验不通过的数据块的SQL语句格式如下:"table/db/table.log" row : f_check_diff_for_row.sh 脚本会读取table目录的SQL

1.6K30

Linux下Mysql定时任务备份数据的实现方法

具体操作,需要将username,password和demo分别替换成对应的数据库用户名、密码和数据库名。...这个问题应该是MySQL5.6+版本的时候就有出现,可能是为了确保数据库的安全性采用的保护机制。本实例中使用的mysql版本5.7.22,虽然有警告信息,但可以成功备份数据。...修改mysql配置文件 针对上面的问题,某些版本可能无法成功备份,另外也不建议将数据库密码配置脚本,则可直接修改mysql的配置文件。一般情况下,mysql的配置文件/etc/my.cnf。...,并修改bcmysql.sh脚本的命令,取消用户名和密码参数,无需重启mysql,直接执行脚本即可看到备份结果。...此问题有两种情况引起,第一种就是数据库本身字符latain1,则此时需要指定字符集,执行的参数添加如下参数: --default-character-set=gbk 当然如果是utf8则将gbk

43141

Linux下Mysql定时任务备份数据的实现办法

具体操作,需要将username,password和demo分别替换成对应的数据库用户名、密码和数据库名。...这个问题应该是MySQL5.6+版本的时候就有出现,可能是为了确保数据库的安全性采用的保护机制。本实例中使用的mysql版本5.7.22,虽然有警告信息,但可以成功备份数据。...修改mysql配置文件 针对上面的问题,某些版本可能无法成功备份,另外也不建议将数据库密码配置脚本,则可直接修改mysql的配置文件。一般情况下,mysql的配置文件/etc/my.cnf。...,并修改bcmysql.sh脚本的命令,取消用户名和密码参数,无需重启mysql,直接执行脚本即可看到备份结果。...此问题有两种情况引起,第一种就是数据库本身字符latain1,则此时需要指定字符集,执行的参数添加如下参数: --default-character-set=gbk 当然如果是utf8则将gbk

37040

使用脚本定时备份 MySQL 数据库

1.1 Linux 备份数据库 ☞ 编写脚本   先找个地方编写如下 sh 脚本(我一般 /usr/local 下创建 backup/backup.sh),替换掉下面的用户名,密码,数据库名以及生成文件路径及文件名...需要注意的是,如果是 Windows 编写完成的脚本会因为 Windows每行结尾 \n\r,Linux 是 \n 而报 -bash: xxxx.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录...可以忽略,实在看的不爽可以 my.cnf [mysqldump] 下面增加 [mysqldump] user=myuser password=mypassword ☞ 添加定时任务   执行 crontab...替换下面的 MySQL 安装目录,用户名,密码,远程IP,远程端口,数据库名以及存放备份文件的目录。...-%date:~8,2%.sql" @echo on ☞ 添加定时任务   计算机关机中选择任务计划程序,创建一个任务,定时触发执行写好的脚本即可。

2.7K40

Shell的基础介绍和案例

1)双引号使用(”):赋值的内容包含空格时 2)单引号使用(’):赋值的内容包含$, ‘’ , \等具有特殊含义的字符时 3)反撇号使用(`): 用于将某个命令的输出结果赋值给变量 4)$()来代替反撇号操作...(表示前一个命令执行后的返回状态,返回值0表示执行正确,非0表示出现异常) $0(表示当前执行的脚本或程序的名称) 如:编写一个备份的小脚本 四、综合案例 1、实验目标:远程备份mysql服务器的数据库...(1)服务器端A上创建两个数据库,分别benet和accp (2)服务器端A上建立一个专用的数据库用户,这里我使用root账户,授予root账户对可以通过远程主机192.168.1.200连接A (...)设置x的权限 (3)修改/root/.bash_profile文件,root用户每次登录系统时用welcome.sh脚本程序。...vi /root/.bash_profile添加一行如下内容: (4)验证:使用root用户重新登录,验证欢迎脚本的输出信息 二、编写服务控制脚本start (1)/root下创建一个bin目录 mkdir

1K40

Bash 脚本如何创建临时文件:mktemp 命令和 trap 命令教程

有时,Bash 脚本需要创建临时文件或临时目录。 常见的做法是,自己/tmp目录里面生成一个文件,这样做有很多弊端。本文介绍如何安全地处理临时文件。 ?...一、临时文件的安全问题 直接创建临时文件,尤其/tmp目录里面,往往会导致安全问题。 首先,/tmp目录是所有人可读写的,任何用户都可以往该目录里面写文件。创建的临时文件也是所有人可读的。...但是,脚本意外退出时,往往会忽略清理临时文件。 二、临时文件的最佳实践 脚本生成临时文件,应该遵循下面的规则。 创建前检查文件是否已经存在。 确保临时文件已成功创建。 临时文件必须有权限的限制。...脚本退出时,要删除临时文件(使用trap命令)。 三、mktemp 命令的用法 mktemp命令就是安全创建临时文件而设计的。...$ mktemp -t mytemp.XXXXXXX /tmp/mytemp.yZ1HgZV 五、trap 命令的用法 trap命令用来 Bash 脚本响应系统信号。

1.6K40

收藏~ 一篇教会你写90%的shell脚本

公司项目的开发过程,需要编写shell脚本去处理一个业务,在编写过程中发现自身对shell脚本的知识不够完善,顾整理一下,本文章主要内容来自菜鸟教程 , 也添加了一些知识点 看完这边文章应该就可以独立完成大部分脚本得编写...转义符: \a :警告字符,通常ASCII的BEL字符 \b :后退 \c :抑制(不显示)输出结果任何结尾的换行字符(只%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符...bash.sh > file : 将脚本的输出数据重定向到file,覆盖数据 bash.sh >> file : 将脚本的输出数据重定向到file,追加数据 command >> file 2>&...避免一个语句过长,可以使用“\”进行换行 使用“\”换行,脚本执行过程还是当做一行一个语句执行,不同于enter直接换行 注意:\ 前添加一个空格 。...绝大多数 shell 脚本,exit 0 表示执行成功,exit 1 表示发生错误。 对错误与错误码进行一对一的映射,这样有助于脚本调试。

2.3K10
领券