linux定时任务调度
简介
crontab
1 | crontab 选项 |
注意:* * 之间是有空格的!空格表示间隔!
编辑以后不是vim界面的话按提示操作就好了。
(补充一个小技巧,在命令行遇到删除就变成^H 的情况,可以按住 ctrl+backspace 完成删除。)
案例一:
做一个sh脚本,每隔一分钟写入时间和日历进入mycal文件中。
1、先vim写一个sh脚本(my.sh),注意把权限chmod给够。
1 | date >> /home/my/mycal |
2、编辑crontab -e
1 | */1 * * * * /home/my/my.sh |
案例二:
每天2点钟把 mysql数据库testdb,备份到文件中。
1、先vim写个sh脚本 (mysqldb_backup.sh),给好权限。
1 | mysqldump -u用户名 -p密码 数据库 > /home/my/db.bak # 密码用户名都要紧贴着写 |
2、编辑crontab -e
1 | */1 * * * * sh /home/my/mysqldb_backup.sh |
at
一次性定时计划任务。at 要在atd服务开启以后才能执行。
所以先过滤查看进程 ps -ef | grep atd ,若没有atd -f 进程,可以先安装一下at,以下是正常有atd进程的样子。
案例:
两天后的下午5点执行 显示home目录下全部内容。
1 | at 5pm + 2days |
明天17点,输出时间到/root/date100.log文件内
1 | at 5pm tomorrow |
两分钟后输出时间到指定文件内
1 | at now 2 minutes |
删除对应编号的at任务
1 | atq // 查看对应编号信息 |