Articles of unix

无法使用vsftpdlogin到Debian上的FTP

我试图设置FTP访问我的Apache服务器,但我收到530 Login Incorrect错误。 我通过sudo apt-get install vsftpd安装了vsftp软件包。 我已经尝试用我创build的用户连接到ftp://(my ip address) , andrew ,他是ftp用户组的成员。 我也试着用root连接。 我确定密码是正确的。 理想情况下,我希望能够连接到我的/var/www/目录通过FTP客户端上传文件。 这是我的vsftpd.conf文件没有注释的样子: listen=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem 并与评论: # Example config file /etc/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to […]

将输出附加到文件,同时将其截断为N行

我试图find一个简单的方法来追加/写入日志,同时保持日志修剪到一个合理的大小。 我宁愿不只是永远追加文件,然后必须有一个清理日志脚本。 我不能把自己的头脑包裹起来,怎样才能完美地完成这个任务,而不需要使用第二个文件作为临时的持有者。 我已经看过的参考资料: 我已经阅读了高级脚本指南http://tldp.org/LDP/abs/html/io-redirection.html 两个命令组合输出: Bash – 如何输出两个命令来存档? 理想情况下,我会有这样的事情(我知道这是行不通的) (tail-n 1000 foo.log; ./foo.sh) > foo.log 这将保持从我的日志中的最后1000行,然后附加我的新输出foo.sh当前运行。 我想不出一种方式来使用追加redirect>>和限制原始文件没有包裹调用foo.sh在其他bar.sh tail -n 1000 foo.log > tmp.log mv tmp.log foo.log ./foo.sh >> foo.log 这似乎kludgey。 也许我的答案是让foo.sh不依赖于STDOUT作为发送日志消息的地方,而是直接打开文件。 后续编辑: 普遍的观点是这不被推荐。 我赞赏的意见。 但是,这个服务器是在我的控制之外,而不是真的在一个….警惕的pipe理员。 它是一个箱子,许多不同的小组拥有箱子的一部分,但没有人对箱子的整体健康负责。 我可以让日志永远build立起来,在时间的充裕中可能无所谓,但是我想尽我所能来统治日志,因为我知道最终的pipe理员不会做任何事情。 所以,使用crontab运行logrotate对我来说是不可能的。 我只是在寻找一些我可以用一个命令的有限点来完成的事情。

什么工具可以用来拼接来自不同来源的日志文件?

我正在分析一系列的应用程序请求。 有Web日志,应用程序服务器日志和数据服务器日志,每行都有稍微不同的时间戳。 我想将它们拼接在一起,按照它们发生的顺序查看各种日志。 在我使用awk和朋友创build脚本之前,是否有一个工具或者现有的项目/配方可以做类似的事情?

rpmbuild的%post部分不起作用

情况:我试图build立一个自定义的rpm来放置一个configuration文件在一个特定的位置。 通过将configuration文件放在适当的目录中,安装完成,但%post部分不起作用。 这部分呼应用户input并“读取”它。 这个读取的值将被放置在这些configuration文件的'sed'的帮助下。 问题: '阅读'不工作在%post部分,即。 安装过程不会等待用户提供input。 它基本上通过将文件放置在目录中来完成安装。 简而言之,%post部分不是为用户提供input的交互。 请参阅这里的SPEC文件: http : //pastebin.com/5BgkJUpG 。 这将有助于得到这个想法。 我写了上面的%post部分的完全相同的行,用于构build一个.deb包的“postint”部分,它在那里工作得很好。 安装deb软件包的用户能够进行input,并且这个给定的值被放置在configuration文件中'sed'。

解决DNS问题

我正在尝试解决当前在AWS EC2实例上使用新项目主机时遇到的DNS问题。 这是一个全新的域名,我已经更新了注册服务器端的域名服务器。 已经过了几天了,所以新的logging已经传播了。 在dig ,我已经validationNSlogging正确指向: ; <<>> DiG 9.9.5-3-Ubuntu <<>> creativealchemyhealing.com in NS ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32418 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; QUESTION SECTION: ;creativealchemyhealing.com. IN NS ;; ANSWER SECTION: creativealchemyhealing.com. 172800 IN NS […]

串口转以太网适配器是否可以互换?

我需要通过我们的networking从串口设备(气象站)获取数据,由Unix主机处理( 使用定制软件 )。 我能够编译remserial ,使远程串行设备像tty一样工作。 Remserial是为Linuxdevise的,但是可以在OS X(我使用的)和FreeBSD上运行。 但是,我不清楚的是,如果串行到以太网适配器或串行服务器使用某种标准协议来通过networking套接字进行通信,或者每个品牌都不同。 更重要的是,我可以购买任何串口到以太网适配器,并期望remserial与它一起工作,如果没有,是否有任何build议(或其他软件胶我应该考虑)?

乘客3如何实现零停机?

在关于Passenger 3的技术预览文章中,他们讨论了零停机时间: 在Phusion Passenger 3中,我们实现了零宕机Web服务器重启。 Phusion Passenger和Web服务器将在后台重新启动,并且在发生这种情况时,旧的Web服务器实例(使用旧的Phusion Passenger实例)将继续处理请求。 根据我的理解,在使用Passenger 3时,在部署期间没有任何请求被延迟或丢失。 但是从Passenger 3和nginx的testing来看,这是不正确的。 我所经历的是,已经完成的请求已经完成,但是在部署时正在进行的新请求被延迟并等待Passenger产生新的实例。 我期望的是,旧的Passenger实例将继续服务请求,直到新的实例完全准备好接受传入的请求。 我误解了他们的解释还是我有一些不好的configuration? 只是为了澄清,我明白,我可以实现零服务器的停机时间,但在这种情况下,我指的是一个。

502错误的网关错误Nginx connect()到unix:/tmp/unicorn.sock失败

这是我在服务器故障的第一个问题。 searchnetworking时找不到解决scheme。 我正在运行一个运行Nginx的OpenBSD服务器,我没有设置,这是在浏览器中抛出一个502错误的网关错误。 Nginx错误日志显示这个错误: 014/04/29 09:43:49 [error] 5236#0: *263 connect() to unix:/tmp/unicorn.sock failed (61: Connection refused) while connecting to upstream, client: ###.###.###.###, server: , request: "GET / HTTP/1.1", upstream: "http://unix:/tmp/unicorn.sock:/", host: "sub.domain.com" 这里是nginx.conf的内容 user _nginx; worker_processes 2; pid /var/run/nginx.pid; error_log /var/log/httpd.err debug; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format access […]

如何将命令输出作为多个parameter passing给另一个命令

我有一个命令产生这样的输出: $。/命令1 word1 word2 word3 我想把这三个字作为parameter passing给另一个命令: $ command2 word1 word2 word3 如何将command1输出作为三个不同的参数$ 1 $ 2 $ 3传递给command2? 提前致谢。

为什么linux重用'time_wait'端口?

据我所知,'time_wait'stat中的tcp端口不能被使用。 但是,在我的实验中,服务器重用了“time_wait”端口? 为什么? 首先,在客户端机器上input命令ehco 40000 40001 > /proc/sys/net/ipv4/ip_local_port_range 。 所以,TCP端口的最大数量是2。 服务器代码 while (1) { int len = sizeof(struct sockaddr); fd = accept(sfd, &remote, &len); read(fd, buf, sizeof(buf)); close(fd); } 客户端代码 for (i = 0; i < 3; i++) { sleep(1); pid_t pid = fork(); if (pid == 0) { handler(); exit(0); } } void handler() […]