- 首先写一段bash命令,然后把文件保存crontabMy.sh,放到服务器上。
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# 这里写自己的逻辑
cd /home/vagrant/code/api #进入目录
php artisan runNoExpired # 执行php命令
echo "----------------------------------------------------------------------------"
endDate=`date +"%Y-%m-%d %H:%M:%S"`
echo "★[$endDate] Successful"
echo "----------------------------------------------------------------------------"
- 测试下文件是否能执行在文件目录下执行
./myCrontab.sh
在这遇到个问题报错,是因为文件是在window下编辑的导致格式不对-bash: ./crontabMy.sh: /bin/bash^M: bad interpreter: No such file or directory
解决使用vim命令打开文件,然后设置一下文件格式,然后保存,问题解决。
vim crontabMy.sh
:set ff=unix
:wq
- 接下是开始编写crontab命令,在执行crontab的时候可能会让你选一下编辑器,我选的是vim
# 打开文件
crontab -e
# 每分钟执行一次,并把日志写到指定的文件
*/1 * * * * /home/vagrant/code/api/app/Console/Commands/crontabMy.sh >> /home/vagrant/code/api/public/crontab.log 2>&1
# 保存文件
:wq
- 一些crontab的语法解释 ,直接上外链吧https://zhuanlan.zhihu.com/p/372043390