Linux(ubuntu)开机启动脚本遇到的坑

使用python制作了一个脚本,想法是每6小时重新执行一次,而脚本是重复循环的也就是6小时里它是不会自动结束运行,所以单纯使用crontab定制定时任务不能直接达到目的,需要使用脚本检查PID,太麻烦!于是想到是使用crontab定制每6小时重启一次主机,然后脚本放在/etc/rc.local里达到开机启动的目的,坑也在这里挖好了,其实还是自己技术不精导致的!!!
1、crontab脚本是在root下编辑的,如下:

0 */6 * * * reboot

这里是第一个坑,到时间主机就是不重启?!原来reboot需要root权限所以脚本要写成如下形式,改完立即好用:

0 */6 * * * sudo reboot

2、rc.local中脚本是这样写的:

/usr/bin/python3 /root/dl.py

这里是第二大坑,问题不在语法,而是dl.py文件没有可执行权限!使用命令chmod 111 dl.py解决
第三大坑是脚本执行了,却提示mysql错误没有conn对象,原来是脚本启动时mysql还没有准备好所以连接失败解决方法很多,异常判断等待几秒重连mysql数据库,我索性脚本运行开始先等10s后再连接数据库,问题解决。