我使用Postfix在邮件发送到特定地址时运行脚本。 该脚本是一个Perl脚本,它使用Log4perl将日志写入文件。 Log4perl每天都在轮转日志文件。 除了一个小angular落的情况下,它运作良好。 日志文件大小超过50MB时,脚本无法写入日志文件。 在对Postfix进行一些研究之后,看起来这可能是Postfix的一个限制。 这是postconf中可能相关的输出的一部分。 $ postconf | grep size berkeley_db_create_buffer_size = 16777216 berkeley_db_read_buffer_size = 131072 body_checks_size_limit = 51200 bounce_size_limit = 50000 header_size_limit = 102400 mailbox_size_limit = 51200000 message_size_limit = 10240000 tcp_windowsize = 0 $ postconf | grep virtual_mailbox_limit virtual_mailbox_limit = 51200000 是否有任何可以更改的选项来删除从脚本创build的日志文件的文件大小的50MB限制 ? 以下是完整性的Log4perl设置。 $ cat /some/path/to/my/log4perlsettings.cfg log4perl.logger.mylog = DEBUG,LOGGER log4perl.appender.LOGGER = […]
我有一个perl脚本,我想作为日志旋转的脚本脚本运行。 当我强制日志旋转作为root运行从命令行,它的工作原理。 但是,当通过cron运行时,SELinux会阻止操作。 我不记得第一个错误是什么,但我使用audit2allow修复了这个错误。 第二天,我得到了一个SELinux阻止脚本的/usr/bin/perl读取访问。 修正了,现在我得到了SELinux阻止/usr/bin/perl从脚本的开放访问。 我迫不及待地想知道我明天会得到什么(因为我不能直接运行testing程序,因为手动运行时它运行正常)。 – 可能是写入其中一个输出文件的问题。 有什么办法来短路这个迭代过程,只是说是的,即使从日志旋转启动,Perl可以运行这个脚本?
我有一个Perl脚本,由最终用户在Web浏览器中单击快捷方式来激活。 该脚本迭代散列值列表。 当每次迭代向数据库中插入一行时,它会向浏览器输出一些HTML。 环境是Perl,Windows Server 2003标准版,IIS。 我最近迁移到Apache。 传统上迭代次数很less,大多数用户在页面加载完成后closures浏览器。 现在,我们有一个情况,最多有5000次迭代。 现在需要很长时间(1分钟)来执行这5000次迭代。 这不是问题。 问题是,当用户closuresWeb浏览器时,Apache会杀死Perl脚本,因为浏览器没有确认最近发送的HTML,所以我们没有把行插入数据库。 我已经在IIS下进行了testing,用户closures了Web浏览器后,Perl脚本继续运行,并插入了所有的行。 在Apacheconfiguration文件中是否有一个设置会强制Apache完成运行Perl脚本,即使在浏览器closures和套接字被删除之后? 这就是我们正在做的: foreach my $Destination (sort keys %{$self->{_Destinations}}) { print qq! <td $self->{_bgcolor}>$Destination Queued</td> !; if ($self->{_Data}->Execute(@params)) {&error} } 我知道我们应该做所有的数据库插入,然后做我们的打印,但这是遗留代码,如果我可以让Apache在这方面像IIS一样行事,那么我将有时间做一个更彻底的重写这个脚本。
我快要疯了。 你如何告诉CPAN只能通过HTTP下载? …而不是通过代理。
我是Perl初学者。 我想使用Log :: Log4perl模块,因为我熟悉它如何在Java中工作。 我用cpanm脚本来下载模块,但是我没有运行“sudo”。 然后它将这个模块安装到我的dir / home / amer / perl5。 之后,我将其安装为sudoer,但是我想在我的主目录中删除安装,以避免将来发生任何冲突。 我怎样才能做到这一点? 这是我的cmdline执行堆栈。 感谢致敬!
我已经使用cpanm在我的系统上安装cpan perl模块,但是.cpanm / work目录是100个megs,我想删除它。 我可以删除这个目录而不会对我的cpanm安装造成不利影响吗?
几个月前,我创build了一个用于将用户添加到Active Directory的perl脚本。 在Windows 7上它运行良好。 在Windows 10 Perl不能运行“dsquery”或“dsadd”,但我真的不明白这一点。 当我从同一个命令行运行“dsquery”时,它工作。 尝试用perl脚本…它不会! Der Befehl "C:\Windows\System32\dsquery.exe" ist entweder falsch geschrieben oder konnte nicht gefunden werden. (=命令dsquery无法find…) 一些来自Perl脚本的代码片段: $datetime = strftime("%d.%m.%Y %H:%M:%S", localtime); &GetOptions ("-v=s" => \$fname, "-n=s" => \$sname, "-u=s" => \$uname, "-p=s" => \$pwd, "-noshare" =>\$noshare, "-test" =>\$test, "-noquota" =>\$noquota, "-sshpw=s" =>\$sshpw ); unless ($fname) { print "Vorname: […]
我的CGI Perl脚本CentOS 7没有正确运行,它们显示为纯文本或者出现服务器错误。 我一直把我的脚本放入默认的/var/www/cgi-bin目录中,没有运气。 我试图把CGI脚本放到/var/www/html/another-dir但是它们只是以纯文本forms出现。
这是一个非常古老的FastCGI问题,但我从来没有find满意的答案。 在Google上search短语“(13)权限被拒绝的fastcgi无法创build服务器”会显示有很多人经历了这个问题很长一段时间。 有些人把它归咎于selinux,并build议把它关掉(不能接受的解决scheme)。 其他人认为这是一个奇怪的符号链接权限问题,并build议将Apache日志目录从符号链接转换为纯文本目录。 (不可接受,因为它涉及移动日志文件)请参阅安装FastCGI 。 以下是Apache通常logging的可怕错误。 [Wed Jun 14 22:09:34 2009] [notice] Apache/2.0.40> (Red Hat Linux) configured — resuming normal operations [Wed Jun 14 22:09:35 2009] [crit] (13)Permission denied: FastCGI: can't create server "/var/rt3/bin/mason_handler.fcgi": bind() failed [/etc/httpd/logs/fastcgi/70d9a528c5892f2bf0c25e5a334bed81] 希望serverfault能够最终为这个让FastCGI用户困扰多年的令人困惑和烦人的问题提供一个明确的答案。 当没有人真正知道这种疾病的根本原因时,我实施build议的“治疗”感到不自在。 希望能够深究这个谜团。
试图在OS X Server 10.6(Mac mini服务器)上安装DBD :: mysql。 但是我显然错过了mysql头文件。 由于mysql已经是OS X Server 10.6的一部分,所以我不想安装任何东西( 不安装fink或darwin ports),只需要安装和运行DBD :: mysql就可以了。 你知道我该怎么做吗? 我必须在某处安装标题吗? 如果是的话,在哪里? (再次:我不想安装另一个版本的mysql,想使用它附带的版本)。 有没有办法安装DBD :: MySQL,而不编译任何C文件? 这是我得到的错误(实际的错误更长,但是这些是最有意义的位,这是报告的第一个错误)。 Checking if your kit is complete… Looks good Unrecognized argument in LIBS ignored: '-pipe' Note (probably harmless): No library found for -lmysqlclient Multiple copies of Driver.xst found in: /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI/ /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level/auto/DBI/ at […]