crontab 定时任务
at 5pm + 3 days /bin/ls # 单次定时任务 指定三天后下午5:00执行/bin/ls crontab -e # 编辑周期任务 #分钟 小时 天 月 星期 命令或脚本 1,30 1-3/2 * * * 命令或脚本 >> file.log 2>&1 echo "40 7 * * 2 /root/sh">>/var/spool/cron/root # 直接将命令写入周期任务 crontab -l # 查看自动周期性任务 crontab -r # 删除自动周期性任务 cron.deny和cron.allow # 禁止或允许用户使用周期任务 service crond start|stop|restart # 启动自动周期性服务
date 操作参数;
date -s 20091112 # 设日期 date -s 18:30:50 # 设时间 date -d "7 days ago" +%Y%m%d # 7天前日期 date -d "5 minute ago" +%H:%M # 5分钟前时间 date -d "1 month ago" +%Y%m%d # 一个月前 date -d '1 days' +%Y-%m-%d # 一天后 date -d '1 hours' +%H:%M:%S # 一小时后 date +%Y-%m-%d -d '20110902' # 日期格式转换 date +%Y-%m-%d_%X # 日期和时间 date +%N # 纳秒 date -d "2012-08-13 14:00:23" +%s # 换算成秒计算(1970年至今的秒数) date -d "@1363867952" +%Y-%m-%d-%T # 将时间戳换算成日期 date -d "1970-01-01 UTC 1363867952 seconds" +%Y-%m-%d-%T # 将时间戳换算成日期 date -d "`awk -F. '{print $1}' /proc/uptime` second ago" +"%Y-%m-%d %H:%M:%S" # 格式化系统启动时间(多少秒前)
定时任务示例:
#!/bin/bash date=`date +%Y%m%d` scp -r /opt/tmp/*_${date}.txt user@172.16.18.15:/home/user/file/
每工作日16点执行:
16 15 * * 1-5 /opt/tmp/scp.sh > /dev/null 2>&1