问题 我们经常打破我们的文件结尾,事情停止工作,没有我们注意到。 Bash抱怨“无效选项”或“:找不到命令”,如下所述: http : //thinkinginsoftware.blogspot.ca/2012/11/linux-server-cries-for-linux-desktop.html 我担心这可能会破坏其他文本文件(conf,crons …) 我们如何打破它(我想) 我们是一群使用Windows,Mac或Linux在一台服务器上编辑Linux文件的人。 我们手动编辑这些文件(ssh + vi / nano或者localy + ftp)。 有时我们复制/粘贴,我认为这是造成这个问题的原因。 是的,有时我们不会为了不太好的原因而testing我们的更改:相同的脚本在复制服务器上工作,更改只是缩进一些行等。 我同意这应该解决。 没有计划使用Chef / Puppet-like解决scheme。 更新 TLDR复制粘贴不是问题,FTP是。 我在Windows + Notepad ++ + PuTTY + nano和vi上做了一些复制/粘贴Windows行尾的CRLFtesting。 它看起来像CR(^ M)字符被过滤,只有LF被粘贴到文件。 感谢ewwhite让我怀疑复制/粘贴理论! 我使用FileZilla通过FTP传输了一个CRLF结尾的文件,选项“发送模式”为自动。 CRLF被保留。 我不知道FileZilla是否可以将它们转换为LF。 减轻 我们不能禁止非Linux操作系统,也不能禁止复制粘贴。 我想到了这些解决scheme: 构build一个运行dos2unix或sed所有脚本的cron.minutely。 缺点:我们需要维护一个“可修改的文本文件”列表,因为我不希望它在/ 使用文本编辑器,可以在文件更改后支持其他命令。 缺点:可能会破坏合法使用非Linux行结尾的文件,在我们ftp脚本时不起作用。 使用像http://inotify.aiken.cz/?section=incron&page=about&lang=en这样的触发系统。 缺点:? #2和#3的优点:我们也可以使用这些为需要它的程序添加最后的空白行。 使用bash,版本4.2.37(1) – 释放 相关的问题^ M(CRLF) 哇,这是不对的。 […]
我需要build立一个新的机器和复制属性和一些cron jobs从另一台机器有约200多个用户,我不知道哪些用户configuration了cron jobs 。 有没有办法提取configuration了cron jobs的用户列表?
我一直在CEntOS 5.5机器上运行一个bash脚本,它检查远程mysql服务器上的复制。 该脚本创build一个临时locking文件,并计划每隔一分钟在Crontab中运行。 但是偶尔,cron工作不同步 – 暂停或延迟两分钟的工作,并尝试一次运行三个工作。 这是造成虚假警报,洪水我的邮箱说:“locking文件存在!可能的冲突”。 以下是可能感兴趣的脚本部分: #!/bin/sh lock_file=/tmp/slave_alert.lck finished=0 # Alert function function mail_alert () { cat /var/log/replication_check.log | mail -s "Replication check errors!" [email protected] } # Check if lock file exists if [ -f $lock_file ]; then echo "Lock file exists! Possible conflict!" > /var/log/replication_check.log 2>&1 mail_alert exit 1 else touch $lock_file […]
我创build了一个cron作业,在设定的时间触发一个url,然后启动一个产品导入脚本。 但由于某些原因,带参数的触发器url的一部分被剥离了。 我设置了这样的cron作业: /usr/bin/wget -O /dev/null http://domain.nl/wp-cron.php?import_key=XXXXXXXXXX&import_id=3&action=processing 但它只运行http://domain.nl/wp-cron.php?import_key=XXXXXXXXXX 。 实际上告诉脚本做什么的最后部分在哪里? 谁知道为什么这样做,以及如何使其工作?
首先。 我什么都不知道bash脚本。 第二,这是我的一个很大的问题,我不知道该怎么做。 目前,我有这个网站。 这是用PHP编写的。 并使用邮件服务器和推送通知,这些都是使用supervisord作为守护进程运行的。 我的网站运行良好,但不时,我的邮件服务器和推送通知不工作,因为supervisord停止工作; 我不得不手动重新启动,使其重新工作。 我在想,我能做些什么来让它自动启动。 那么一个想法popup。 通过bash脚本和cron作业重新启动服务。 我知道这有点愚蠢。 我创build了一个bash脚本。 只是一个简单的。 #!/bin/bash # A simple script echo " — Restarting Supervisord –" sudo service supervisor stop sudo service supervisor start echo "Done!" 当我通过手动运行 ./supervisord_restart.sh 这是我得到的输出 — Restarting Supervisord — Job for supervisor.service failed. See "systemctl status supervisor.service" and "journalctl -xe" for details. […]
我想要一个bash shell脚本,我可以使用cron作业来检查远程服务器上的mysql是否正在运行。 如果是,那就什么都不要做,其他的启动服务器。 cronjob将每分钟检查一次远程服务器是否存在(或不)mysql。 我可以自己编写cron作业,但是我需要shell脚本的帮助来检查远程mysql是启动还是closures。 检查后的反应是否上升或下降并不重要。 但是检查很重要。 谢谢。
起初,我用linux cron来安排工作。 由于他们之间的工作和依赖增加,我觉得很难维持。 例如, 0 4 * * 1-5 run-job-A 10 4 * * 1-5 run-job-B 15 4 * * 1-5 run-job-C 工作-A在工作完成后运行,工作-A在工作-A和工作-B都完成后运行。 我假设工作-A可以在10分钟内完成,而工作B可以在5分钟内完成。 所以我让工作B在4:10运行,工作C在4:15运行。 工作DAG 如您所见,我手动计算DAG关键path和处理时间。 这是非常微不足道的。 随着这些工作的增长,这很容易让事情变得错误。 有没有更好的方式来安排这些工作? 我正在寻找一个共同的,通用的工具来处理这些工作。
在我的OpenBSD框中,我有以下用户_mysql的crontab 0 4 * * * /backup/mysql_backup/mysql_backup.sh 0 9 * * 1 mysql -uroot -pMySQLpassword -e "purge master logs before date_sub(now(),interval 5 day);" 第一个目的是在这个盒子上备份mysql数据库。 我现在意识到这些作业还没有运行,因为用户_mysql被拒绝连接的权限(我已经确认_mysql用户的密码是正确的)。 所以,我想我应该有一个不同的用户的crontab这些工作,但哪(我认为他们不应该在根的crontab)? 所以,我正在寻找如何configuration这个build议。 或者我需要更改我的MySQLconfiguration。 编辑 该脚本与数据库位于同一台服务器上。 这些crontab条目失败并显示错误 connect('; host = localhost; mysql_read_default_group = mysqlhotcopy','',…)失败:在/ usr / local / bin / mysqlhotcopy第178行拒绝用户'_mysql'@'localhost'(使用密码:YES) aigaion_copy DBI
我有一个脚本,我想运行每分钟。 我知道如何设置它的时间,我已经把它设置为: */5 * * * * 我想执行的脚本位于/var/www/html/domain.co.uk/content/inc/download-feed/banter.php 我会只有我的crontab条目: */5 * * * * /var/www/html/domain.co.uk/content/inc/download-feed/banter.php 还是有什么我需要添加到它? 谢谢!
CentOS 5.4 (在我的脚本文件 – script.sh) #!/bin/bash ssh 192.168.0.1 'iptables -L' > /tmp; (在/ etc / crontab中) 30 21 30 9 * root /bin/bash /script.sh 如果我在terminal运行脚本,事情工作得很好。 但是使用crontab来运行它,tmp将被生成,但tmp文件(0k)中没有任何内容。 我已经运行了ssh代理,所以ssh不会提示input密码。 这可能是什么问题? 谢谢。