crontab -e编辑定时任务
0 3 * * * shell.sh
从左到右依次是:分钟、小时、天、周、月
一般短时间(比如1分钟)重复执行的定时任务需要加锁,防止上一个任务没执行完,下一个定时任务重复执行。
这里一般使用Linux自带文件锁flock
*/1 * * * * /usr/bin/flock -xn /var/run/cron.lock -c '/home/cron.sh'
-s, --shared :获得一个共享的锁。 -x, --exclusive :获得一个独占的锁。 -u, --unlock :移除一个锁,通常是不需要的,脚本执行完后会自动丢弃锁。 -n, --nonblock :如果没有立即获得锁直接失败而不是等待。 -w, --timeout :如果没有立即获得锁就等待指定的时间。 -o, --close :在运行命令前关闭文件的描述符。用于如果命令产生子进程时会不受锁的管控。 -c, --command :在shell中运行一个单独的命令。