小编rad*_*led的帖子

Linux:仅将权限设置为目录

我必须将htdocsapache中目录的权限更改为某个组并具有某些读/写/执行权限.

这些目录需要拥有775个权限,文件需要有664个.

如果我执行递归664 htdocs,那么所有文件和目录将更改为664.

我不想手动更改目录.

有没有办法只更改文件或目录?

linux directory bash chmod

19
推荐指数
3
解决办法
2万
查看次数

docker ENTRYPOINT上的多个命令

我正在尝试构建自定义的tcserver docker映像。但是我在启动Web服务器和tomcat时遇到了一些问题。
据我了解,我应该使用ENTRYPOINT运行我想要的命令。
问题是,是否可以使用ENTRYPOINT运行多个命令?
还是应该创建一个小的bash脚本来全部启动?

基本上我想做的是:

ENTRYPOINT /opt/pivotal/webserver/instance1/bin/httpdctl start && /opt/pivotal/webserver/instance2/bin/httpdctl start && /opt/pivotal/pivotal-tc-server-standard/standard-4.0.1.RELEASE/tcserver start instance1 -i /opt/pivotal/pivotal-tc-server-standard && /opt/pivotal/pivotal-tc-server-standard/standard-4.0.1.RELEASE/tcserver start instance2 -i /opt/pivotal/pivotal-tc-server-standard
Run Code Online (Sandbox Code Playgroud)

但是我不知道这是否是一个好习惯,或者是否可行。

docker dockerfile

9
推荐指数
2
解决办法
1万
查看次数

从terraform运行kubernetes构建

我正在尝试进行一个简单的测试,从terraform在kubernetes上构建一个简单的nginx.这是第一次使用terraform.

这是基本的terraform文件:

provider "kubernetes" {
  host = "https://xxx.xxx.xxx.xxx:8443"

  client_certificate     = "${file("~/.kube/master.server.crt")}"
  client_key             = "${file("~/.kube/master.server.key")}"
  cluster_ca_certificate = "${file("~/.kube/ca.crt")}"

  username = "xxxxxx"
  password = "xxxxxx"

}

resource "kubernetes_service" "nginx" {
  metadata {
    name = "nginx-example"
  }
  spec {
    selector {
      App = "${kubernetes_pod.nginx.metadata.0.labels.App}"
    }
    port {
      port = 80
      target_port = 80
    }

    type = "LoadBalancer"
  }
}

resource "kubernetes_pod" "nginx" {
  metadata {
    name = "nginx-example"
    labels {
      App = "nginx"
    }
  }

  spec {
    container {
      image = "nginx:1.7.8"
      name …
Run Code Online (Sandbox Code Playgroud)

kubernetes terraform

7
推荐指数
1
解决办法
476
查看次数

从ls中提取子字符串

我正在创建一个小脚本,我必须列出我所有的Tomcat二进制文件.
到目前为止,我能够做到这一点:
ls -1 | grep '\-tomcat\-' | cut -f3 -d'-'

这基本上列出了所有版本,但它添加了.zip或.tar.gz

5.5.17.zip
5.5.26.tar.gz
5.5.27.tar.gz
5.5.28.tar.gz
5.5.31.tar.gz
5.5.32.tar.gz
Run Code Online (Sandbox Code Playgroud)


我想知道如何从提取的字符串中删除.zip和.tar.gz.

unix linux bash substring

5
推荐指数
2
解决办法
8096
查看次数

在 dockerfile 上使用 COPY 进行 apache 构建

我是 docker 的新手,我正在尝试为 apache 构建一个小的 docefile 仅用于测试。

FROM httpd:2.2.31

RUN mkdir -p /opt/mw/apache-test/logs

ADD ./httpd-custom.conf /usr/local/apache2/conf/httpd.conf
COPY /opt/mw/apache-2.2.31-instance1/htdocs/ /usr/local/apache2/htdocs/
Run Code Online (Sandbox Code Playgroud)

但是由于某种原因,我在 COPY 中遇到了错误。另外,我尝试使用 ADD。
这是我得到的错误:

Step 4 : COPY /opt/mw/apache-2.2.31-instance1/htdocs/ /usr/local/apache2/htdocs/
lstat opt/mw/apache-2.2.31-instance1/htdocs/: no such file or directory  
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

centos docker dockerfile

5
推荐指数
1
解决办法
4283
查看次数

os.walk首次查找后停止在子目录上查找

我需要在目录中首次显示repository.config文件,并停止在子目录中查找。

这是我的目录树:

./WAS80/base/disk1/ad/repository.config
./WAS80/base/disk1/md/repository.config
./WAS80/base/disk2/ad/repository.config
./WAS80/base/disk3/ad/repository.config
./WAS80/base/disk4/ad/repository.config
./WAS80/base/repository.config 
./WAS80/fixpack/fp5/repository.config 
./WAS80/fixpack_suplements/fp5/repository.config
./WAS80/supplements/disk1/ad/repository.config
./WAS80/supplements/disk1/md/repository.config
./WAS80/supplements/disk2/ad/repository.config
./WAS80/supplements/disk3/ad/repository.config
./WAS80/supplements/disk4/ad/repository.config
./WAS80/supplements/repository.config

我需要用粗体显示的内容,然后停止在子目录中查找。

我开始修改此代码,但无法弄清楚。

pattern='repository.config'
path='/opt/was_binaries'

    def find_all(name, path):
            result = []
            for root, dirs, files in os.walk(path):
                    if name in files:
                            result.append(os.path.join(root, name))
                            continue

            return result
Run Code Online (Sandbox Code Playgroud)

python os.walk python-2.7

5
推荐指数
1
解决办法
1959
查看次数

在 Ansible 中处理带有特殊字符的密码

我正在尝试使用 ansible_ssh_pass 选项运行 ansible playbook 以连接到目标服务器。

ansible-playbook test-playbook.yml -i hosts -u daniel --extra-vars "{"ansible_ssh_pass":"u5!vuL!<35Lf?<>n'x"}"
Run Code Online (Sandbox Code Playgroud)

问题是密码有特殊字符。我尝试使用保存它。

"password\'s"
"password"
"\"password\""
Run Code Online (Sandbox Code Playgroud)

知道如何保存密码吗?

shell special-characters ansible

5
推荐指数
2
解决办法
1万
查看次数

如何使用 7zip 创建 tar 文件

我正在尝试使用 7zip 在 Windows 上创建一个 tar 文件。

我发现的大多数文件都说要做这样的事情:

7z a -ttar -so dwt.tar dwt/
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行它时,我收到了这个错误:

命令行错误:我不会将压缩数据写入终端

我目前使用的是 7-Zip [64] 16.04

任何的想法?

7zip tar

5
推荐指数
2
解决办法
2万
查看次数

使用sed从变量中删除模式

我正在使用一个名为变量的脚本PRODUCT_VERSION.该版本带有一个点(例如6.0).我需要删除点并将结果保存在另一个变量中.

到目前为止,我来到这里,但它无法正常工作

PRD_VER=$(sed "s/$PRODUCT_VERSION/\.//g")
Run Code Online (Sandbox Code Playgroud)

linux variables bash sed

3
推荐指数
1
解决办法
2505
查看次数

无法访问 Kubernetes 上的暴露端口

我已经构建了一个暴露端口 80 8080 和 8443 的自定义 tcserver 映像。基本上你有一个 apache 并且在配置中你有一个代理传递来将它转发到 tcserver tomcat。

EXPOSE 80 8080 8443
Run Code Online (Sandbox Code Playgroud)

之后,我创建了一个 kubernetes yaml 来构建仅公开端口 80 的 pod。

apiVersion: v1
kind: Pod
metadata:
  name: tcserver
  namespace: default
spec:
  containers:
  - name: tcserver
    image: tcserver-test:v1
    imagePullPolicy: IfNotPresent
    ports:
    - containerPort: 80
Run Code Online (Sandbox Code Playgroud)

以及随之而来的服务。

apiVersion: v1
kind: Service
metadata:
  name: tcserver-svc
  labels:
    app: tcserver
spec:
  type: NodePort
  ports:
  - port: 80
    nodePort: 30080
  selector:
    app: tcserver
Run Code Online (Sandbox Code Playgroud)

但问题是我无法访问它。
如果我登录到 pod ( kubectl exec -it tcserver -- /bin/bash),我可以执行 a …

kubernetes kubernetes-service

3
推荐指数
1
解决办法
2321
查看次数

在javascript中将子字符串替换多次

我需要之间的取代一切:,并,|多次.
我有一个服务器列表server1:127.0.0.1,server2:127.0.0.2,server3:127.0.0.3.

基本上,我需要删除所有IP并用一些替换它们|.

到目前为止,我能够做到这一点:

resultList = serverList.replace(/:.*,/g, '|')
Run Code Online (Sandbox Code Playgroud)

问题是结果列表是server1|server3:127.0.0.3.

如何更换每次出现?

javascript replace substring

1
推荐指数
1
解决办法
51
查看次数

在python 3上写无缓冲

我正在尝试在不带缓冲区的python上创建文件,因此在使用write()的同时将其写入。但是由于某种原因,我得到了一个错误。
这是我正在使用的行:

my_file = open("test.txt", "a", buffering=0) my_file.write("Testing unbuffered writing\n")

这是我得到的错误:
my_file = open("test.txt", "a", buffering=0) ValueError: can't have unbuffered text I/O

无论如何,是否要对文件进行无缓冲写入?我在pyCharm上使用python 3。
谢谢

python pycharm

0
推荐指数
2
解决办法
1878
查看次数