我需要crontab运行一个脚本,该脚本在本月的最后一秒将信息从mysql中的表传输到另一个表。 (本月最后一天的最后一秒)。
crontab执行的内容是什么?
谢谢。
答案 0 :(得分:2)
不确定这是否可以通用方式完成,因为该月的最后一天会有所不同,据我所知,crontab语法不为该用例提供任何内容。
您可能需要为自己找出正确的日期,并将单个作业(包括完整日期和时间,即每年12个)添加到crontab。
但首先你需要做什么?这听起来有点像“气味”,因为如果你在最后一秒开始,你就不能真正依赖于月底之前完成的任何工作。是否会在每个月的第一天0:00执行它并不容易?
在Serverfault上的this answer被盗:
0 0 1 * * / usr / bin / foo
答案 1 :(得分:0)
这将为您提供您正在寻找的东西(一分钟 - 而不是第二分钟)。只需调整我提到的crontab时间为59 23(http://sudobash.net/?p=424)
的Cron:
2 0 * * * /usr/bin/last-day-of-the-month.sh
脚本:
#!/usr/bin/bash
# last-day-of-the-month.sh
# By: Scott Rowley
# http://www.sudobash.net/
#########################################
TODAY=`/usr/local/bin/date +%d`
TOMORROW=`/usr/local/bin/date +%d -d "1 day"`
# See if tomorrow's day is less than today's
if [ $TOMORROW -lt $TODAY ]
then
echo "Today is the last day of the month, running code..."
/run/your/code
fi
exit