我正在运行CentOS 5.5和服务器应用程序,有时我需要强制核心转储,所以我可以看到发生了什么事情。 如果我从shell启动服务器并发送kill SIGABRT,则会创build一个核心文件。 如果我从crontab启动相同的程序,然后我发送相同的信号到服务器被“杀死”,但没有核心文件生成。 是否有人知道为什么是这样的,需要添加到我的代码或更改系统设置,以允许核心文件生成? 只是一个侧面说明 我在/ etc / profile中将ulimit设置为无限制 我已经设定 kernel.core_uses_pid = 1 kernel.core_pattern = /变种/核/%H-%E-%p.core 在/etc/sysctl.conf中 另外我的服务器应用程序被添加到相同的loginID下的crontab,因为我从shell运行它。 任何帮助不胜感激
我在FreeBSD上有一个shell脚本,它将一些屏幕填充命令发送到正在运行的屏幕会话(运行一个Minecraft服务器)。 当我手动执行它时,这些命令起作用。 但是,如果我把相同的脚本放到同一个用户的crontab中,它会执行,但是屏幕填充命令不会到达正在运行的屏幕进程。 我已经检查了/ var / log / cron甚至是>> d输出到一个日志文件,我看到脚本中与屏幕命令无关的部分确实执行了。 我的shell脚本如下所示: screen -S minecraft -X stuff "say Server is going to render the world now. " screen -S minecraft -X stuff "say You might feel some slight turbulence. " screen -S minecraft -X stuff "save-all " screen -S minecraft -X stuff "save-off " cd /home/minecraft/bin/mcmap-src […]
我已经开发了一个PHP脚本,我想发送自动邮件给用户。 我用一个PHP脚本成功地实现了一个cron作业,该脚本检出一个PHP邮件队列表,用于挂起邮件。 脚本工作正常,但cron工作奇怪:它发送邮件给用户,但一次3或4。 我只想发一次邮件。 我怎样才能做到这一点? 我使用一个条件来检查邮件是否被发送,如果它是0,那么它将发送邮件并将值更新为1.这种情况工作正常。 此外,相对数据库仅显示每个用户一个条目,因此逻辑上只有一个电子邮件应该发送给用户,而cron作业一次发送3或4个相同的电子邮件给用户。 我每2分钟设置一次cron作业。 命令如下: 2 * * * * wget (Http PATH to SERVER)/Utils/MailQueue.php
我想用cron设置这个数据库备份例程: 第一个月,做一个完整的备份 每周的每个星期天都要进行增量备份 – 除非是第一个 每周的每一天,都要进行增量增量备份 – 除非是第一天或周日 数据库是DB2,如果有人想知道。 “满”表示满,“增量”表示累积增量,“增量增量”表示“非累积增量”。 最坏的情况下还原scheme将是“全+增量+6增量”。 这是我试过的: # monthly 0 0 1 * * ("do full backup") # weekly 0 0 2-31 * 0 ("do incremental backup") # daily 0 0 2-31 * 1-6 ("do incremental delta backup") …希望第二行的意思是“星期天备份,但是只有当date在第二和第三十一之间”。 我发现cron不是和它的时间参数,但是ORs他们。 在18日星期二到19日星期三的午夜之间,每天和每周的备份都开始启动,不pipe是不是星期天。 顺便说一句,每日“先来”,并封锁了每周。 现在,我可以调整时间,这样在一天的过程中,每月备份总是在每周之前开始,在每天之前开始(例如在00.01,00.02和00.03),从而利用“阻塞”现象达到我的目标。 但是这很丑陋,而且每隔一段时间,我都必须处理错误输出,这不是真正的错误(被阻塞的备份)。 另外,我可以只在几个月的时间内完成我的计划。 但是完全备份税收主机的资源很难重复,因此我的用户会非常喜欢在周末运行完整备份。 任何build议,不需要脚本? 我想保持设置非常基本,以方便将来使用和理解。 而且,不同的用户组需要不同的备份策略,我不喜欢脚本上的小差异。 问候,Torsten
我每5分钟在我的crontab中安排一个任务。 通过激活rsyslog中的cron日志来检查该任务是否按计划执行: – Right user – Right command 示例日志条目: Dec 23 06:40:01 computer /USR/SBIN/CRON[26422]: (myuser) CMD (bash /home/myuser/save.sh &>/home/myuser/cron.log) 我甚至尝试过: Dec 23 06:40:01 computer /USR/SBIN/CRON[26422]: (myuser) CMD (/home/myuser/save.sh &>/home/myuser/cron.log) 示例crontab命令: */5 * * * * /home/myuser/save.sh &>/home/myuser/cron.log 该脚本有正确的权利:它可以由myuser执行 示例脚本: #!/bin/sh HOME_DIR="/home/$USER" LOGFILE=save.log DIR_NAME="mydir" VOLATILE="$HOME_DIR/$DIR_NAME/" PERMANENT="$HOME_DIR/$DIR_NAME""_storage/" if [ ! -d "$PERMANENT" ]; then mkdir "$PERMANENT" fi […]
我在CentOS 6上configuration了lograotate。当我手动运行它时,它工作正常,但是使用CRON它不起作用。 克朗在其日志中说:“一切都好,我运行你的命令”,但没有任何反应。 细节: cat /etc/logrotate.d/myproject /var/opt/myproject/log/error.log { size=200M rotate 25 missingok notifempty copytruncate nocreate nocompress nodateext } 猫/etc/cron.d/1everymin SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ * * * * * root /etc/cron.min/logrotate cat /etc/cron.min/logrotate #!/bin/sh #/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1 /usr/sbin/logrotate -v /etc/logrotate.conf > /logrotate.log EXITVALUE=$? if [ $EXITVALUE != 0 ]; then /usr/bin/logger -t logrotate "ALERT exited […]
我是shell脚本的新手。 我写了一个shell脚本来做MySQL数据库的增量备份。脚本是可执行的格式,手动执行时运行成功,但通过crontab执行时失败。 Crontab条目是这样的:* / 1 * * * * /home/db-backup/mysqlbackup.sh 下面是shell脚本代码 – #!/bin/sh MyUSER="root" # USERNAME MyPASS="password" # PASSWORD MyHOST="localhost" # Hostname Password="" #Linux Password MYSQL="$(which mysql)" if [ -z "$MYSQL" ]; then echo "Error: MYSQL not found" exit 1 fi MYSQLADMIN="$(which mysqladmin)" if [ -z "$MYSQLADMIN" ]; then echo "Error: MYSQLADMIN not found" exit […]
今天我用nano /var/log/syslog我的日志 我有这个,我认为这不是很好: Aug 27 06:25:02 ks3309528 rsyslogd: [origin software="rsyslogd" swVersion="4.6.4" x-pid="2235" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'lightweight'. Aug 27 06:25:02 ks3309528 rsyslogd: [origin software="rsyslogd" swVersion="4.6.4" x-pid="2235" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'lightweight'. Aug 27 06:25:02 ks3309528 /USR/SBIN/CRON[3862]: (CRON) error (grandchild #3867 failed with exit status 1) Aug 27 06:25:02 ks3309528 /USR/SBIN/CRON[3862]: (CRON) info (No […]
最近,我接pipe了一个体面的networking(在10个物理站点上有900个FreeBSD或Linux主机),我们收到很多电子邮件,主要是从cfengine(v2)获得。 多年来我们也安装了很多cron作业,其中一些会不时地产生噪音(其中一些噪音会在每次运行中产生噪音!)多年来,团队中的系统pipe理员已经越来越接受这些信息,将它们过滤到/ dev / null,这样很less被读取。 显然这并不理想,我们应该解决所有的噪音 – 我们会的。 但首先我想做一些事情来围绕这个问题,并试图指出最“嘈杂”的程序,并保持统计电子邮件的数量,以便我们可以看到我们所做的变化的统计。 我想我会build立一台机器,接收这些电子邮件的副本,然后将它们处理成一个数据库,在那里我将运行统计我们得到的类似消息的重复数。 有很多预先存在的系统用于汇总传统的日志文件,但是唯一一个与我们之后的东西类似的是Sentry ,但是我将不得不编写一些处理的东西来使其工作。 如果没有这样的事情,我可以自己写一些东西。 有没有其他人遇到过这样的问题,并知道一个解决scheme来汇总大量的错误电子邮件报告并对其进行分析? 我在找: 统计每小时或每天的电子邮件数量 最常见的消息列表,按消息内容,主题或From:地址 任何其他的统计信息都会指出简单的变化对消息量的影响
这是一个奇怪的,我知道答案将是简单的,我已经看了…我inheritance了Linux服务器的运行旧版本的Ubuntu 10.04的责任,它有一个备份scrip每小时运行,但我可以找不到它从哪里跑。 在validation日志中,我看到每小时一个条目与备份被激发的时间完全一致,表明这是一个cron工作: "pam_unix(cron:session): session opened for user root" 它不是SSH上的远程命令,因为它之前没有SSH会话条目。 我已经运行以下命令列出所有用户的cron作业,这对任何人都不会产生任何结果: "for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done" 这不是一个非常…还有什么? 任何build议,我可能看下一个? 我想可能有一个GUI应用程序和auth日志条目是误导。 提前致谢