我正在安排通过scrapy和cron部署的蜘蛛。每个蜘蛛一行。现在有 100 只蜘蛛,这变得非常难以计划和管理。管理大量工作的推荐方法是什么?查看暂停/恢复作业所需的潜在维护时间,以及重叠作业等。
merlin's questions
我们有一个全新的服务器设置,其中团队成员已经更改了整个根目录的其他用户和组用户的权限。
chmod -R go-rwx /
这导致了这样一个事实,例如,除了 root 之外的任何人都无法再登录。
有没有简单的方法来恢复这个?在我看来这是不可能的,因为有许多文件夹受到影响。
系统是 Ubuntu 18.04 LTS
我在 16.04 服务器上运行 Apache 2.4.18。这个版本是通过 Ubuntu apt-get upgrade 修补的吗?我准备好了一些安全问题,但是升级命令不会升级 Apache。
rex:~$ apache2 -v
Server version: Apache/2.4.18 (Ubuntu)
Server built: 2018-06-07T19:43:03
我是否需要应用补丁,或者 Ubuntu 会采用它的核心。如果没有,如何升级到最新的 2.4 版本?
我最近使用 openssl 在 Apache 2.x 上安装了新的 SSL 证书,并且有用户报告无法访问该页面。他犯了错误NET::ERR_CERT_AUTHORITY_INVALID
虽然我无法重现该问题,但对 SSL 证书的检查揭示了链的一些问题: https ://www.ssllabs.com/ssltest/analyze.html?d=static.watchgurus.net
我的配置中是否缺少某些证书?
我的 LVM 卷空间不足,想知道 10G 分配在哪里:
df -h
/dev/mapper/vg0-staging 20G 19G 177M 100% /mnt/staging
lvs
staging vg0 -wi-ao---- 30.00g
有没有办法在保持数据完整的同时追加可用空间并将分区增加到卷的完整大小?
我正在研究创建 LVM 快照的备份脚本。创建快照后,它将通过 lz4 压缩,然后脚本应该从 VG 中删除快照。
由于缺少权限,删除快照失败。我宁愿避免以 root 身份运行此脚本。还有其他可能让脚本创建和删除快照吗?
我已经在 ubuntu 16.04 LTS 上安装了 solr 6.4.0,并且想使用之前在 solr CLOUD 5.2.1 上使用的配置
创建新核心并链接配置文件后,我现在可以在 Web 界面上看到核心,并且在核心的管理界面下正确看到文件。
更新链接显示为灰色,单击它会显示错误消息:
抱歉,没有定义数据导入处理程序!
我检查的东西:
- Solrconfig 加载 jar:
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
<lib dir="/usr/share/java/" regex="mysql-connector-java-.*\.jar" />
似乎有效,因为它在更改文件名时显示错误消息。因此,我假设 mysql 连接器已加载
- 定义的数据导入处理程序:
在 solrconfig 中:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">dataimport.xml</str>
</lst>
</requestHandler>
- 数据导入处理程序本身
文件 dataimport.xml 存在并显示:
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
user="solr"
password="secret"
convertType="true"
batchSize="-1"
encoding="UTF-8" />
...
webadmin 中的日志文件没有显示任何错误。我假设日志记录未配置为显示此类错误。
当我更改 dataimport.xml 中的密码或数据库名称时,没有什么不同。相同的错误信息。
关于如何缩小问题范围的任何想法?
我刚刚安装了 ubuntu 16.04 和 apache2。即使我停止 apache2,也会显示默认配置页面。这很奇怪,因为没有进程 httpd。服务器继续提供默认文件并更改文件显示更改。
这是控制台上的输出:
user@rex:~$ sudo /etc/init.d/apache2 stop
[ ok ] Stopping apache2 (via systemctl): apache2.service.
user@rex:~$ ps -ef | grep httpd
user 1855 1642 0 16:03 pts/0 00:00:00 grep --color=auto httpd
user@rex:~$ sudo /etc/init.d/apache2 status
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: inactive (dead) since Thu 2017-01-19 16:03:20 CET; 44s ago
Docs: man:systemd-sysv-generator(8)
Process: 1785 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 1768 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
Jan 19 16:03:20 rex apache2[1768]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
Jan 19 16:03:20 rex apache2[1768]: no listening sockets available, shutting down
Jan 19 16:03:20 rex apache2[1768]: AH00015: Unable to open logs
Jan 19 16:03:20 rex apache2[1768]: Action 'start' failed.
Jan 19 16:03:20 rex apache2[1768]: The Apache error log may have more information.
Jan 19 16:03:20 rex apache2[1768]: *
Jan 19 16:03:20 rex apache2[1785]: * Stopping Apache httpd web server apache2
Jan 19 16:03:20 rex apache2[1785]: *
Jan 19 16:03:20 rex systemd[1]: Started LSB: Apache2 web server.
Jan 19 16:03:46 rex systemd[1]: Stopped LSB: Apache2 web server.
这里可能是什么问题?
我的一台 sendmail 服务器出现问题。用户通知我注册电子邮件未送达。日志文件声称消息已排队,但队列为空:
sudo cat /var/log/mail.log | grep email
(在此示例中使用混淆的电子邮件和服务器地址):
Jan 6 23:33:57 fx1 sendmail[9292]: u06MXvuk009292: to=email, ctladdr=sender-email (1001/100), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=38128, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (u06MXv7o009293 消息接受传递)
1 月 6 日 23:34:00 fx1 sm-mta[9295]: u06MXv7o009293: to=, delay=00:00:03, xdelay=00:00:03, mailer=esmtp, pri=128308, relay=mx3.hotmail。 com。[65.55.37.120], dsn=2.0.0, stat=Sent (<70001a6bb8ff80254895632a2c4367fb@myhost> 排队等待投递的邮件)
$ mailq
> MSP Queue status...
/var/spool/mqueue-client is empty
Total requests: 0
MTA Queue status...
/var/spool/mqueue (1 request)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
u04ALref018750* 184 Mon Jan 4 11:21 <[email protected]>
(Deferred: Connection timed out with mail.vtmail.com.)
<[email protected]>
Total requests: 1
mail.err 日志文件为空。
我怎样才能找到问题?这种情况经常发生。
我以某种方式在 ubuntu 14.04 上弄乱了一些精简配置的 lvm 卷,现在我想通过删除其中包含所有卷和数据的瘦池来重新开始。不幸的是,这失败了,我找不到解决方案。
逻辑卷如下所示:
user@server1:~$ sudo lvs
dm_report_object: report function failed for field data_percent
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
project2 vg0 Vwi-i-tz- 22.00g mythinpool
project1 vg0 Vwi---tz- 20.00g mythinpool
project3 vg0 Vwi---tz- 21.00g mythinpool
home vg0 -wi-ao--- 140.00g
mythinpool vg0 twi-i-tz- 78.82g 52.15
root vg0 -wi-ao--- 10.00g
swap vg0 -wi-ao--- 4.00g
tmp vg0 -wi-ao--- 5.00g
现在我想删除里面有三个 lvms 的瘦池:
sudo lvremove /dev/vg0/mythinpool
Removing pool mythinpool will also remove 3 thin volume(s). OK? [y/n]: y
Do you really want to remove and DISCARD logical volume project1? [y/n]: y
device-mapper: message ioctl on failed: Invalid argument
Unable to deactivate open vg0-mythinpool_tdata (252:5)
Unable to deactivate open vg0-mythinpool_tmeta (252:4)
Failed to deactivate vg0-mythinpool-tpool
Failed to resume mythinpool.
Failed to update thin pool mythinpool.
我不关心 mydinpool 中的数据,但卷组 vg0 的其余部分必须保持不变。我该如何解决这个问题?感谢您对此的任何帮助。
编辑 1: 在遵循 shodanshok 的回答后,我能够通过启动到 CentOS7 来删除一个 LVM 映像,但不幸的是,包括精简池在内的其他两个卷返回另一条错误消息 - transaction_id 不匹配:
lvconvert --repair 也没有可用空间
我无法从 ubuntu 14.04 上的全新 sendmail 安装向 google 发送邮件。DNS记录似乎对ip没问题。肯定有其他问题。
从命令行发送邮件:
sudo sendmail -v -Am -i [email protected];
详细输出:
myname@fx1:/etc/mail$ sudo sendmail -v -Am -i [email protected];
[email protected]... Connecting to aspmx.l.google.com. via esmtp...
220 mx.google.com ESMTP v1si55415385wja.21 - gsmtp
>>> EHLO staging.mydomain.com
250-mx.google.com at your service, [2a01:4f8:212:27c8::2]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
>>> STARTTLS
220 2.0.0 Ready to start TLS
>>> EHLO staging.mydomain.com
250-mx.google.com at your service, [2a01:4f8:212:27c8::2]
250-SIZE 35882577
250-8BITMIME
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
>>> MAIL From:<[email protected]>
250 2.1.0 OK v1si55415385wja.21 - gsmtp
>>> RCPT To:<[email protected]>
>>> DATA
250 2.1.5 OK v1si55415385wja.21 - gsmtp
354 Go ahead v1si55415385wja.21 - gsmtp
>>> .
550-5.7.1 [2a01:4f8:212:27c8::2] Our system has detected that this message does
550-5.7.1 not meet IPv6 sending guidelines regarding PTR records and
550-5.7.1 authentication. Please review
550-5.7.1 https://support.google.com/mail/?p=ipv6_authentication_error for more
550 5.7.1 information. v1si55415385wja.21 - gsmtp
myname... Connecting to local...
myname... Sent
非常感谢任何帮助。先感谢您。
我正在使用 LVM 映像运行 ubuntu 14.04 LTS。在将大量数据导入 solr 后,我面临着 root 完全分区的情况。
/dev/mapper/vg0-root 9.8G 9.3G 0 100% /
我发现 /var/solr/logs/ 中的 solr 日志包含超过 6G,我将它们全部删除。
不知何故,磁盘仍然是满的,这个分区没有变化。什么可能导致这种情况,我该如何解决这个问题以找到解决方案?
预先感谢您的任何帮助。
我需要使用 nginx 301 将整个目录的内容重定向到另一个目录。虽然我的配置有效,但不幸的是它也暴露了端口号。我想这是一个副作用,因为特定域的入站流量是通过 HAProxy ACL 规则处理到 8000 端口的,而 url 本身是端口 80。
这是我的 nginx 配置文件:
server {
listen 8000;
port_in_redirect off;
location ~* ^/data/dir1/(.*)$ {
return 301 /data/dir2/$1;
}
...
它从 URL 重定向:
domain.com/data/dir1/...
至:
domain.com:8000/data/dir2/...
我怎样才能摆脱 URL 重定向中的 8000?
我的 tmp 解决方法是将 :80 放入重定向中,但我担心这会影响 google 列出的 URL,因为它包含端口号。
我正在运行一个 3 节点 MySQL 5.6 Galera 集群。一切都同步并且看起来很好,但是我刚刚发现用户表不同步。
一个特定的用户不在其他节点上,我认为它可能会在发出后复制它:
mysql -u root -p -e "INSERT INTO mysql.user (Host,User) values ('10.0.0.10','haproxy_check'); FLUSH PRIVILEGES;"
我仔细检查了所有节点上的 wsrep 状态和用户表。在其他 2 个节点上发出命令后,它可用并且 galera 似乎仍处于同步状态。
我在这里错过了什么吗?为什么 galera 不复制用户表?
我想在 MySQL Galera 中启用慢查询日志记录。
为此,我通过以下方式启用了它my.cnf
:
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1
log-queries-not-using-indexes
然后,我尝试重新启动一台服务器
sudo services mysql restart
galera节点重启失败,写入error.log:
mysqld_safe WSREP:无法恢复位置:2015-08-29 12:07:37 27805 [警告] 不推荐使用唯一选项前缀 myisam-recover 而不是 myisam-recover-options,并将在未来版本中删除。请改用全名。2015-08-29 12:07:37 27805 [注意] 插件 'FEDERATED' 已禁用。2015-08-29 12:07:37 27805 [错误] 函数“innodb”已经存在 2015-08-29 12:07:37 27805 ...
一旦我从中删除查询日志记录my.cnf
,服务器就可以正常启动并正常加入集群。
在 Galera 中启用查询日志是否有特殊程序?如果是这样,该怎么做?
我在 ubuntu 14.04 上运行了一个有效的 gluster 安装。现在我重新连接了 sata 端口,gluster 砖现在从另一个端口安装。它是可用的:
/dev/sda1 236M 38M 186M 17% /boot
/dev/sdc1 20G 7.2G 12G 39% /data/gluster
/dev/sdb1 7.8G 2.9G 4.5G 39% /data/mysql
不幸的是,我不能再安装它了:
~sudo mount gs1:volume1 /data/nfs
没有任何反应,光标停留在空白行。我必须用 ctrl c 取消或等到我超时:
node1:~sudo mount gs1:volume1 /data/nfs
mount.nfs: Connection timed out
音量信息
Volume Name: volume1
Type: Replicate
Volume ID: 92d9adb8-756b-4138-87a8-23237d21688f
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: gs1:/data/gluster/brick
Brick2: gs2:/data/gluster/brick
日志中没有任何内容。gluster 服务器的 IP 地址在 /etc/hosts 中,我可以 ping 它们。
我该如何解决这个错误?
在初始 rsync 数据到 glusterfs 失败后搜索错误时,我在 /var/log/glusterfs/data-nfs.log 中找到了以下条目:
[MSGID: 109066] [dht-rename.c:1410:dht_rename] 0-volume1-dht: 重命名 /source/.filename.jpg.bWVXS4 ( hash=volume1-replicate-0/cache=volume1-replicate-0) = > /dest/filename.jpg (hash=volume1-replicate-0/cache=)
肯定没有以点开头的文件名,我只是仔细检查了它。这个条目是关于什么的?有成千上万个。
我们设置了三台专用机器,其中 LAMP 应用程序将安装在 ubuntu 14.04 上。Glusterfs 3.7.x 将用作共享存储解决方案。
有 2 台高性能机器,以及具有合理规格的第三台服务器。这两个高绩效者将通过 NGINX 主持。
要提供的文件很小(2kB - 30kb)。目前系统在两台服务器上规划为replica 2模式。
gluster volume create volume1 replica 2 gs1:/data/brick gs2:/data/brick
如果我们在第三个节点上添加一个 glusterfs 服务器,会不会有性能提升?
请注意,这个问题的重点是 glusterfs,因此与上述帖子不重复。
我们在 Ubuntu 14.04 机器上有 3 个文件夹,每个文件夹包含 250K 张图片,每个文件夹大小为 2KB-30KB,预计每个目录会增长到 1M 文件。
在尝试将应用程序扩展到多台服务器时,我们正在研究 Glusterfs 以实现共享存储。由于 ext4 上 250K 文件不是问题,因此 glusterfs 似乎有问题。试图复制文件会使机器完全崩溃。
我希望将文件划分为 2 个级别的目录:
mkdir -p {000..255}/{000..255}
/000/000/filename
/001/000/filename
/001/001/filename
...
这听起来像是一个可行的好方法吗?整个结构稍后将包含数百万个文件。这会让 glusterfs 在生产中可靠且性能良好,托管数百万个文件吗?
我们在 Apache 前面安装了 HAProxy。设置有效,但客户端的 IP 地址未转发,尽管有“forwardfor”规则。
我以前曾调查过类似这样的服务器故障的答案,例如haproxy 并将客户端 IP 地址转发到服务器,但到目前为止无法解决问题。
这是配置:
frontend apache-http
bind 192.168.56.150:80
mode http
option http-server-close
option forwardfor header X-Real-IP
reqadd X-Forwarded-Proto:\ http
default_backend apache-http
stats enable
#stats hide-version
backend apache-http
# redirect scheme https if !{ ssl_fc }
balance roundrobin
cookie SERVERID insert indirect nocache
server www-1 10.0.0.120:80 cookie S1 check
server www-2 10.0.0.130:80 cookie S2 check
PHP 服务器变量返回 HAProxy 的信息:
$_SERVER['REMOTE_ADDR'] returns 10.0.0.120
$_SERVER['HTTP_X_FORWARDED_FOR'] returns nothing
Apache 日志也返回 ---
配置:
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
我在 HAProxy 的配置中遗漏了什么吗?