1 .菜鸟教程
2. 使用crontab定时执行shell脚本
步骤一
首先我们先看一下是否安装了crontab。一般情况下linux系统会自带crontab及crond。
sudo apt-get install vixie-cron
sudo apt-get install crontabs
步骤二
创建一个测试的脚本test.sh,然后放开权限,并创建一个输出的log文件。
#! /bin/bash
echo "测试例子"
echo "hello" $(date "+%Y-%m-%d %H:%M:%S")
chmod 777 test.sh
创建reboot.sh的shell脚本。
#! /bin/bash
exec reboot
查找并删除图片
#!/bin/sh
sudo find /文件存储位置/data/ -mtime +30 -name "*.jpg*" -exec rm -rf {} \;
说明:
mtime 设置天数 +20 指的是20天之前
atime 设置分钟 + 20 指的是20分钟之前
步骤三
然后我们就要使用crontab了,首先进入它的配置文件,在/etc/crontab 中添加我们的调度命令。注意,该配置文件是一个只读文件
sudo vi /etc/crontab
最底部追加
*/1 * * * * root /home/test.sh >>/home/log
2 2 * * 6 root /home/test.sh >> /home/log
minute hour day month dayofweek command
- minute - 从0到59的整数
- hour - 从0到23的整数
- day - 从1到31的整数 (必须是指定月份的有效日期)
- month - 从1到12的整数 (或如Jan或Feb简写的月份)
- dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)
- command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令)
- root 表示以comp用户身份来运行
- “ >> ” 表示运行脚本后重定向到log文件中
- 对于以上各语句,星号()表示所有可用的值。例如在指代month时表示每月执行(需要符合其他限制条件)该命令。
步骤四
开启crontab服务
sudo service cron start
步骤五
在log中会打印
测试例子
测试例子
测试例子
测试例子
测试例子