应用部署后执行附加脚本
部署应用时,如何在部署完成后自动启动计划任务去执行一些备份任务或文件切割任务?方法其实很简单,部署应用时,在【其他】卡片下有一个“附加脚本”的功能。
附加脚本:在服务部署成功后需要执行的脚本,可用于执行一些特殊任务,如:定时备份和定时切割文件等。
目前官方应用中支持附加脚本功能的应用有:PHP-5.2 ~ PHP-7.4网站环境(新),即所有标注为(新)的php网站环境都支持。
单机应用附加脚本的使用方法
比如在应用部署成功后,执行该命令: date >> /data/www/date.txt
,该命令的意思是将当前时间输出到date.txt文件中。
但该命令只能在启动执行1次,如果我们想让它每隔1分钟执行,那么我们可以借助任务计划来实现这个需求。
在crontab任务计划中加入:* * * * * root date >> /data/www/date.txt
即可,注:5个*代表每分钟执行,crontab任务计划具体的使用方法请大家自行学习。
将语句添加到crontab任务计划中:
echo "* * * * * root date >> /data/www/date.txt" >> /etc/crontab
理解了任务计划之后,我们就可以使用附加脚本来执行任务计划了
接下来,在“其他”卡片找到【附加脚本】,将上面的命令填写到附加脚本中,在执行任务计划是需要先启动任务计划服务service cron start
,附加脚本的完整语句如下:
service cron start
echo "* * * * * root date >> /data/www/date.txt" >> /etc/crontab
应用部署完成后,检查该网站根目录下的data.txt文件,如果文件存在并且其中内容是每分钟写入一条记录,说明任务计划成功执行,如图:
另外,云应用的任务计划涉及到并发锁的问题(多个容器同时运行时,任务计划怎么执行的问题),之后我们会详细介绍。