我有一个名为/scripts/checkInternet的文件,它包含: #!/bin/bash WGET="/usr/bin/wget" rm /tmp/index.google $WGET -q –tries=10 –timeout=5 http://www.google.com -O /tmp/index.google &> /dev/null if [ ! -s /tmp/index.google ];then echo "Nope" ifdown eth0.4 ifup eth0.4 iptables-restore < /etc/iptables.rules else echo "Connected" fi rm /tmp/index.google 我做了这个文件chmod +x 755 。 我可以作为根运行它,但作为root添加到一个cron它不起作用。 什么地方出了错? cron本身正在运行。 我在我的系统日志中看到CMD (/scripts/checkInternet) ,但缺less所需的结果。
我不确定这里发生了什么事情: 我有一个在根目录下运行正常的备份脚本。 它会在适当的目录下生成一个> 300kb的数据库转储。 当使用完全相同的命令将其作为cron作业运行时,会显示一个空的gzip文件,其中不包含任何内容。 cron日志显示没有错误,只是命令已经运行。 这是脚本: #! /bin/bash DIR="/opt/backup" YMD=$(date "+%Y-%m-%d") su -c "pg_dump -U postgres mydatabasename | gzip -6 > "$DIR/database_backup.$YMD.gz" " postgres # delete backup files older than 60 days OLD=$(find $DIR -type d -mtime +60) if [ -n "$OLD" ] ; then echo deleting old backup files: $OLD echo $OLD | […]
我想将我的php脚本移出/ var / www,以便它们不能通过URL访问。 但是,在哪里存储这些最合乎逻辑的地方呢?
我正在networking服务器上安装一些Magento商店。 每个网站都有一个Magento用来更新内容的cron作业 – 完成需要3-4秒。 说明指示将其设置为每5分钟运行一次。 我问自己,为了性能的原因,是否明智的做法是设置每个cron在不同的时间运行(例如:第一个网站的分钟0,5,10等,分钟为1,6,11等第二等),以减less重叠,或者如果这是无用的,因为linux在同一分钟执行多个cron作业,避免并发。
我不明白为什么cron不是每隔10分钟就真的执行一次命令。 在crontab -e我添加了: */10 * * * * /var/www/myproject/recording/batch.pl 我可以在cron log中看到它每10分钟运行一次: Mar 17 10:50:01 host crond[26335]: (root) CMD (/var/www/myproject/recording/batch.pl) Mar 17 11:00:01 host crond[26357]: (root) CMD (/var/www/myproject/recording/batch.pl) Mar 17 11:10:01 host crond[26418]: (root) CMD (/var/www/myproject/recording/batch.pl) Mar 17 11:20:01 host crond[26657]: (root) CMD (/var/www/myproject/recording/batch.pl) 但并不是真正执行命令。 当我在Linux控制台手动执行该命令时,它工作正常。
我在运行默认Debian linux的Amazon ec2实例上运行一个网站。 我设置了一个cronjob来复制站点文件,获取数据库的印记,并将其压缩。 我想将文件存档保存在与/ var / www / [新目录] / [新目录] / [etc] /中的bash脚本本身相同的目录中。 我创build了一个mysql用户,只能读取和转储数据库,但不能写入它。 脚本如下 #/bin/bash CURRPATH=$(pwd) SITEPATH="/var/www/html" MYSQLUSER="user" MYSQLPASS="password" MYSQLDB="database" CURRDATE=$(date +"%Y-%m-%d__%T_%p") DATETAG="Backup_$CURRDATE" TEMPDIR="$CURRPATH/$DATETAG" ARCHIVENAME="$DATETAG.zip" # I first copy the files so I can stick a database imprint in the same directory cp -r "$SITEPATH/" "$CURRPATH/" mv "$CURRPATH/html" "$TEMPDIR" mysqldump -u "$MYSQLUSER" […]
我有一个每分钟运行的cronjob,并检查某个文件的存在。 如果没有这样的文件,工作无声地结束。 如果有文件,则启动另一个脚本。 该脚本完成后删除文件。 执行时间可能需要20分钟。 我的问题是:这个计划有什么缺陷吗? 可以在tmp中存储这样的文件吗? 我可以确定没有任何东西会试图去除它吗? 感谢您的回复! 此scheme的目的是允许通过Web界面运行该脚本。 脚本本身在用户的主文件夹中,并在其内容上工作。 我不确定在/ var / run中创buildpid文件是否合适。
在SuSE / etc / crontab中,运行cron。{hourly,daily,monthly,weekly}脚本的条目编码为: – * / 15 * * * * root test -x / usr / lib / cron / run-crons && / usr / lib / cron / run-crons> / dev / null 2>&1 请注意,规范的第一个字符是一个破折号字符( – ),这不是一个错字。 有人可以解释什么时间规格' – * / 15'的含义? 顺便说一句,东西似乎运行良好。 谢谢
我有一个test.sh脚本 #!/bin/sh php /home/v/file.php sh /root/x/some.sh 当我从命令行以root身份执行文件时,它可以工作。 sh /home/v/test.sh 当我把它设置为crontab -e(是root的cron),不起作用 * * * * * sh /home/v/test.sh 我做错了什么? 谢谢
出于某种原因,我的cronjob不工作: 4 20 * * * /home/ubuntu/db_backup/myScript.sh 1 > /home/ubuntu/db_backup/cron_log.txt 我的bash脚本如下所示: #! /bin/bash mysqldump -h anotherhost -P 3306 -u usen -pmypass –all-databases > $1.sql java -jar myJar.jar param1 $1.sql 所以jar文件需要2个参数,第一个我总是要相同的,第二个来自第一个bash参数。 里面/ var / spool / mail / ubuntu我看到这个错误: 无法访问jarfile myJar.jar 我在用户:ubuntu下设置了crontab jar文件的所有者和组是ubuntu,它具有700的八进制权限。 我究竟做错了什么?