贴吧签到程序安装与Linux下crontab使用

😂 这篇文章最后更新于1471天前,您需要注意相关的内容是否还可用。
目录导航
  • 问题
  • 计划任务
    • crontab
    • crontab没日志
    • 使用Python脚本做计划任务
  • 贴吧签到项目源码:https://gitee.com/kenvix/Tieba-Cloud-Sign

    前提:系统安装了PHP运行环境,可见上一篇文章

    安装教程略过,解压在web目录一步步安装即可

    问题

    1、文件/文件夹权限错误

    用爱特管理移动文件夹时候出现错误,执行

    sudo chmod 777 文件夹路径即可
    

    2、CSRF报错

    贴吧云签到添加bduss报错,参考

    https://gitee.com/kenvix/Tieba-Cloud-Sign/wikis/%E5%85%B3%E4%BA%8E%E4%BA%91%E7%AD%BE%E5%88%B0CSRF%E9%98%B2%E5%BE%A1

    计划任务

    crontab

    树莓派full系统自带crontab,因此不再详述,安装 使用apt-get install cron应该可以,但因其自带就没安装了。其他系统中是crond,debian中是cron这点需要注意下。

    crontab -e
    

    执行完之后会让你选择编辑器,输入1按回车选择第一个nano即可

    打开文件,直接输入需要执行的脚本

    0 0/10 * * * ? /usr/bin/curl http://localhost/do.php
    

    由于我就私用人不多就设置10分钟执行一次,可以根据需要修改合适时间

    cron表达式生成可参考:https://www.beejson.com/tool/cron.html

    重载程序

    service cron reload
    

    cronTab常用命令

    service cron start             //启动服务
    service cron stop             //关闭服务
    service cron restart         //重启服务
    service cron reload         //重新载入配置
    

    或者

    /etc/init.d/cron status #查看状态
    /etc/init.d/cron restart #启动服务
    ps -ef|grep cron #查看状态用这也行
    

    查看定时任务

    crontab -l
    

    crontab没日志

    编辑

    nano /etc/rsyslog.conf
    

    去掉注释的那行前面#

    #
    # First some standard log files.  Log by facility.
    #
    auth,authpriv.*                 /var/log/auth.log
    *.*;auth,authpriv.none          -/var/log/syslog
    cron.*                          /var/log/cron.log             #去掉这一行行首的#
    daemon.*                        -/var/log/daemon.log
    kern.*                          -/var/log/kern.log
    lpr.*                           -/var/log/lpr.log
    mail.*                          -/var/log/mail.log
    user.*                          -/var/log/user.log
    

    重启日志rsyslog服务

    sudo service rsyslog restart
    

    使用Python脚本做计划任务

    crontab不知何种原因没执行,我决定用更简单的方式吧,由于系统带Python环境,因此我在/home/pi文件夹新建a.py文件

    import requests,time
    while True:
     print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+' Execed!')
     requests.get('http://localhost/do.php')
     time.sleep(60)
    

    复制代码进去,以上设置的是60秒,可根据实际情况更改,然后执行这个py文件即可,例如

    nohup python a.py &
    

    或者桌面系统更简单python a.py就行,窗口不关就能一直执行