我正在使用tinydns,并需要dynamic地更改数据文件中的一些IP。 我想为它使用bash脚本。 例如数据文件: +sub1.example.org:282.196.222.245:14400 +sub2.example.org:278.179.280.253:14400 +sub3.example.org:285.117.214.234:14400 bash脚本有两个variables: old="282.196.222.245" new="127.0.0.1" 我期待这个结果: +sub1.example.org:127.0.0.1:14400 +sub2.example.org:278.179.280.253:14400 +sub3.example.org:285.117.214.234:14400 什么是最好的方式来取代旧的IP新(使用awk,sed或smth其他)?
我正在使用Zabbix 2.2。 我有一个非常具体的环境,我必须通过脚本生成所需的数据文件,然后将该文件从主机上传到ftp并从ftp下载到Zabbix服务器。 下载文件后,我用log []和vfs.file.regexp []项目检查它。 我使用这些项目如下: log[/path/to/file.txt,"C.*\s([0-9]+\.[0-9])$",Windows-1250,,"all",\1] vfs.file.regexp[/path/to/file.txt,"C.*\s([0-9]+\.[0-9])$",Windows-1250,,,\1] 我正在parsing的行如下所示: C: 8195Mb 5879Mb 2316Mb 28.2 我想提取的值是28.2在文件的末尾。 我目前试图解决的问题是,当我更新文件(从主机上传到FTP,然后从FTP下载到Zabbix服务器),值不会更新。 我只是在开始时只是logging[],但我怀疑,该日志[]把这个文件作为真正的日志文件,并没有检查相同的行(尽pipe,遵循文档,它应该与“所有”值)我也添加了vfs.file.regexp []项目。 日志[]在过去收到一个值,但不会更新。 vfs.file.regexp []到目前为止还没有收到任何值。 file.txt已经重新上传和redownloaded几次,情况并没有改变。 看来log []只读取文件中的新行,如果有任何更改,它不检查已经捕获的行。 zabbix_agentd.log文件不报告访问文件的任何问题,也不报告正则expression式的构造(当我设置了错误的东西时,它报告“不支持”日志[]键)。 我使用代理的debugging日志logging级别 – 我还没有发现任何关于该问题的有趣的信息。 我不知道我可能会做错什么,或者我不知道Zabbix如何执行这些检查。 我看到两个解决scheme:添加更多的行到文件,而不是做一个新的或新的文件,并检查他们与logrt [],但这些不满足我的愿望。 任何帮助是极大的赞赏。 当然,如果要求的话,我会提供更多的信息 – 现在我不知道还有什么可能是有用的。
我无法获得fail2ban的正则expression式。 我想匹配以下内容: [Tue Jun 24 10:22:14.528987 2014] [fcgid:warn] [pid 22526:tid 139757615011584] [client IP:PORT] mod_fcgid: stderr: user admin joomla authentication failure, referer: http://www.mydomain.com/administrator/index.php?option=com_login 我试过了: ^\[.*\s*.*]* \[client <HOST>\] mod_fcgid: stderr: user .* joomla authentication failure, referer: .* 任何帮助将非常感激。
我有如下的dynamic链接系列; http://example.com/users/1871233/18712443_cover.jpg 只有静态的东西在这个链接是example.com/users和_cover.I想要做到这一点; 当没有find请求时返回一个JPG location ~ ^\/users\/(.*)\/(.*)_cover.*(jpg|jpeg|png|gif)$ { error_page 404 /deff_images/empty-cover-jpg.jpg; } 我做了上面的smt,但没有工作。 我能为此做些什么? 那谢谢啦
我在$ uri中有一个带有语言前缀的网站,例如: http://www.example.com/en/some/content http://www.example.com/ru/novost 可悲的是,由于我使用的框架的限制,文件也被链接/寻找在前缀地址下: http://www.example.com/files/image.png (这是有效的和预期的) http://www.example.com/en/files/image.png http://www.example.com/ru/files/image.png 我想让我的nginx做的是按以下顺序尝试文件: $uri原样 /files/image.png (即使en或ru或任何其他双字母代码存在) /index.php文件生成,如果适用 1.和3.可以用简单的方式完成: location / { try_files $uri /index.php; } 我知道〜*命令告诉Nginx做一个正则expression式匹配( 源 )。 可悲的是,我不知道如何制定匹配来省略潜在的组,而不是select它。 并尝试与variables之前和之后让我尝试使用, if – 当然,我想避免这一点。 我相信我错过了一些相对简单的事情。
在tomcat服务器的catalina.out文件中有几个exception消息就像 – java.lang.NullPointerException org.springframework.beans.factory.BeanCreationException java.lang.RuntimeException java.io.FileNotFoundException 我们希望grep除“java.io.FileNotFoundException”string之外的所有exception错误消息。 试着用下面的命令,但它不工作。 cat catalina.out | grep '.*(?<\!=java.io.FileNotFound)Exception\*.)' 你能帮忙找出正确的命令吗?
我试图通过其他服务器上的地址example.com/donor/2014/12/07/Name传递请求。 URIs like /donor/2014/12/07/Mike /donor.php?yyyy=2014&mm=12&dd=07&donor=Name /donor/2014/12/07/Mike ,我需要将它们转换为查询types: /donor.php?yyyy=2014&mm=12&dd=07&donor=Name 。 我目前的设置是: location ~* ^/donor/+$ { rewrite ^/(.*) /donor.php?yyyy=$1&mm=$2&dd=$3&donor=$4 break; proxy_pass http://XXXX; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
我在Watchguard XTM防火墙后面有一台服务器,并希望阻止在请求标头中包含特定用户代理的传入RESTClient。 我已经实施了几个规则来做到这一点: 列出图片 下面是我如何实现它们的一个例子: 正则expression式的实现 为了练习,我想使用下面的正则expression式阻止传入的请求标头与用户代理,如: binlar|casper|checkprivacy|cmsworldmap|comodo|curious|diavol|doco 但是当我testing他们时,我的规则没有任何行为。 有任何想法吗?
我有我的.htaccess文件中的以下内容: <IfModule mod_headers.c> SetEnvIf Origin "http(s)?:\/\/(www\.)?(inreado\.local|testenv\.inreado\.com|inreado\.com)$" AccessControlAllowOrigin=$0$1 Header set Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin Header set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS" Header set Access-Control-Allow-Credentials true </IfModule> 我试图设置Access-Control-Allow-Origin头,如果主机是在正则expression式中指定的三个允许的域之一。 但它从来没有设置这个标题。 这是请求和回应: 请求 GET http://inreado.local:8080/ HTTP/1.1 Host: inreado.local:8080 Connection: keep-alive Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36 Accept-Encoding: gzip, deflate, […]
例如,如果对像这样的图像发出请求… /static/images/00f37ac6291bb6e8_150.jpeg 但150px的缩略图版本还没有生成,并返回一个404,我想让它尝试全尺寸的基本图像,将始终可用… … /static/images/00f37ac6291bb6e8.jpeg 我该如何让nginx做到这一点? 这是我已经开始,但我遇到问题搞清楚正则expression式。 我也不知道这是否是完成这个的最好方法。 location /static/ { resolver 8.8.8.8; try_files $uri @redirect; proxy_pass https://s3.amazonaws.com/<buckets>$request_uri; } location @redirect { rewrite ^(.*)(?=_)(\.*)$ https://s3.amazonaws.com/<buckets>$1; } 这也是我正则expression式与正则expression式…我无法弄清楚如何抓取文件扩展名。 更新: 这是我最终做的,它运作良好! location /static/images/ { resolver 8.8.8.8; proxy_intercept_errors on; proxy_pass https://s3.amazonaws.com/my-bucket$request_uri; error_page 400 401 402 403 404 @redirect; } location @redirect { rewrite ^(.*)\/(.*)(_)[0,1](.*)\.(.+)$ https://s3.amazonaws.com/my-bucket/images/$2.$5; }