linux shell编程 用crontab周期执行函数,并且将函数的值输出
时间: 2023-12-19 12:05:05 浏览: 220
为了周期性地执行函数并输出其结果,您可以将函数的输出重定向到文件中,然后在 crontab 任务中读取该文件并将其输出到标准输出。
以下是一个示例函数,该函数将计算当前日期是一年中的第几天并返回该值:
```bash
function day_of_year {
echo $(date +%j)
}
```
要使用 crontab 周期性地执行该函数并输出其结果,可以按照以下步骤操作:
1. 打开 crontab 编辑器:
```bash
crontab -e
```
2. 在编辑器中添加一个新的 cron 任务,该任务将使用您的函数并将其输出重定向到文件中:
```bash
* * * * * /bin/bash -c 'source /path/to/your/script.sh && day_of_year > /tmp/day_of_year.log'
```
该 crontab 任务将每分钟执行一次,使用 `/bin/bash` 解释器执行您的脚本,然后调用您的函数 `day_of_year` 并将其输出重定向到文件 "/tmp/day_of_year.log" 中。
3. 保存并退出编辑器。
4. 创建一个新的脚本文件,该文件将读取 /tmp/day_of_year.log 文件并将其内容输出到标准输出:
```bash
#!/bin/bash
cat /tmp/day_of_year.log
```
5. 将该脚本文件设置为可执行文件:
```bash
chmod +x /path/to/your/script.sh
```
现在您的函数将每分钟执行一次,并将其输出重定向到文件中。您可以使用另一个脚本文件读取该文件并将其输出到标准输出。如果您希望将输出写入日志文件中,可以将该脚本文件的输出重定向到文件中。
阅读全文