精华内容
下载资源
问答
  • 宝塔面板使用WWW用户执行计划任务命令 解决laravel日志权限问题 宝塔设置计划任务执行用户 问题背景 宝塔面板的计划任务默认执行用户是root,如果任务里有打印日志的操作,则自动创建的log文件也是root用户权限,...

    宝塔面板使用WWW用户执行计划任务命令 解决laravel日志权限问题 宝塔设置计划任务执行用户

    问题背景

    宝塔面板的计划任务默认执行用户是root,如果任务里有打印日志的操作,则自动创建的log文件也是root用户权限,而php的运行用户是www,对root用户创建的文件默认没有写权限,进而导致程序报错。

    问题场景

    此问题常见于laravel、FastAdmin等框架系统。

    解决方案

    可以使用 su -c 和 -s 搭配操作,为计划任务指定执行用户,来解决此问题。

    su -c " {你要执行的命令} " -s /bin/sh 使用的用户
    // 示例:
    su -c " php artisan schedule:run " -s /bin/sh www

     

    展开全文
  • 宝塔计划任务设置秒数级别执行

    千次阅读 2019-07-24 20:50:52
    宝塔计划任务的执行周期最低为每分钟,分钟的值不支持小数点,但是有时需要秒数的定时执行。 1. 添加计划任务任务类型选择"Shell脚本",执行周期选择N分钟,分钟值可以临时填写。 2. 脚本内容添加,以下脚本...

    宝塔的计划任务的执行周期最低为每分钟,分钟的值不支持小数点,但是有时需要秒数的定时执行。

    1. 添加计划任务,任务类型选择"Shell脚本",执行周期选择N分钟,分钟值可以临时填写。

    2. 脚本内容添加,以下脚本。

    #!/bin/bash
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH
    step=3
    for (( i = 0; i < 60; i=(i+step) )); do
    curl -sS --connect-timeout 10 -m 60 'http://www.baidu.com/'
    echo "----------------------------------------------------------------------------"
    endDate=`date +"%Y-%m-%d %H:%M:%S"`
    echo "★[$endDate] Successful"
    echo "----------------------------------------------------------------------------"
    sleep $step
    done
    exit 0

    3. 以上step为秒数,上面为3秒,可以随便设置,添加后点击“执行“。

     

    公众号

    展开全文
  • 宝塔定时计划任务

    千次阅读 2019-05-06 16:36:22
    curl -sS --connect-timeout 10 -m 60 'http://**.*****.com/index/index/index'

    选择shell脚本
    选择执行周期
    在脚本内容内写入

    curl -sS --connect-timeout 10 -m 60 '此处为地址链接'
    
    展开全文
  • 使用阿里云服务器也有一段时间了,续费几次之后再续费就变的非常贵了,我们需要重新换服务器时,可能会需要把宝塔面板的计划任务也得重新再来一遍,手动一个一个实在太慢了,尤其对于那些计划任务较多的人来说,浪费...

    文章目录

    前言

    使用阿里云服务器也有一段时间了,续费几次之后再续费就变的非常贵了,我们需要重新换服务器时,可能会需要把宝塔面板的计划任务也得重新再来一遍,虽然有插件不过需要付费,像我这样的白嫖党让我付费是不可能滴,但是手动一个一个实在太慢了,尤其对于那些计划任务较多的人来说,浪费时间不说还痛苦😣。。。

    下面的爬虫程序可以将未过期的服务器的计划任务保存下来,并自动添加到新的服务器中。
    在这里插入图片描述
    我的是将远程服务器计划任务备份到本地服务器(windows Linux 子系统ubuntu)中,之后买新的服务器可以将本地备份到远程实现计划任务的备份与恢复

    说明

    • 首先打开你的服务器的计划任务界面(一切一切的前提是你的服务器已经安装了宝塔面板),如http://39.106.6.19:8888/crontab ,右键检查找到network,找到如下图请求链接,(点击headers,我这里为了让大家看到计划任务的json格式并没有打开headers),在上面找参数,将代码里面的headers1中填写找到的参数
      在这里插入图片描述

    • headers1是源服务器,headers2是目标服务器

    代码

    import requests
    
    
    headers1 = {
    'Cookie':'pro_end=-1; ltd_end=-1; serverType=nginx; order=1839; bt_userC%22data%22%3A%7B%22username%22%3A%22155****1063%22%7D%7D; csrftoken=qmXjPjWQ2XoUC1TEkZhq8P8uSYKDrZ9lNMd6Vw9vgYmzI39oc3rZd2V3lEb7UNRp; sites_path=/www/wwwroot; distribution=crch=undefined; softType=-1; load_type=-1; rank=list; vcodesum=11; Path=/python; SESSIONID=6dfa8e80-8531-4d58-a4dd-fb20b361f7a2.iHDuK5NGDsMEj3Y43_uOMNHM-W8; request_token=0hiUL3VESBhbMXm5bE9MmewZJiCGeiHHXAb8RvGt5pAma0tV',
    'Host':'39.106.56.4:8888',
    'Origin':'http://39.106.56.4:8888',
    'Pragma':'no-cache',
    'Referer':'http://39.106.56.4:8888/crontab',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',
    'x-cookie-token':'0hiUL3VESBE9MmewZJiCGeiHHXAb8RvGt5pAma0tV',
    'x-http-token':'H9F6oXNti3LR3iQCtRy9WMOjpOQcyIDc1qvRf7TcvK',
    'X-Requested-With':'XMLHttpRequest'
    }
    headers2 = {
        'Cookie':'csrftoken=S2Nkx7rAODwac1jWCs02NritjLhjb6ZAZtKFt4ZMVkkMe; SESSIONID=f8fb934f7c-b650-a8f3d7ef6075.CiO28-HdcAdUADJhB_MSbAyTA6s; request_token=ZM8SgVEDfSTrZk9GveGzKhFkVBS9uAYEKqicM4VEL944kQ7G; pro_end=-1; ltd_end=-1; serverType=nginx; order=id%20desc; memSize=12168; bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%u83B7%u53D6%u6210%u5222data%22%3A%7B%22username%22%3A%22155****1063%22%7D%7D; rank=list; Path=/',
        'Host':'127.0.0.1:9999',
        'Origin':'http://127.0.0.1:9999',
        'Pragma':'no-cache',
        'Referer':'http://127.0.0.1:9999/crontab',
        'sec-ch-ua':'"Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"',
        'sec-ch-ua-mobile':'?0',
        'Sec-Fetch-Dest':'empty',
        'Sec-Fetch-Mode':'cors',
        'Sec-Fetch-Site':'same-origin',
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',
        'x-cookie-token':'ZM8SgVk9GveGzKhFkVBS9uAYEKqicM4VEL944kQ7G',
        'x-http-token':'R5vjDeW8RxYs5r6UPzC3zNvkFAyQxvOR9goIqPzTrU',
        'X-Requested-With':'XMLHttpRequest'
    }
    # 初始化源服务器和待备份的目标服务器
    def init(server1,server2):
        global url_server1
        global url_server2
        global getID
        getID = True
        url_server1 = {"url":f"http://{server1}/crontab?action=GetCrontab","add":f"http://{server1}/crontab?action=AddCrontab","del":f"http://{server1}/crontab?action=DelCrontab","stop":f"http://{server1}/crontab?action=set_cron_status","headers":headers1}
        url_server2 = {"url":f"http://{server2}/crontab?action=GetCrontab","add":f"http://{server2}/crontab?action=AddCrontab","del":f"http://{server2}/crontab?action=DelCrontab","stop":f"http://{server2}/crontab?action=set_cron_status","headers":headers2}
    def convert(s):
        if "每月" in s:
            return "months"
        elif "每周" in s:
            return "week"
        elif "每" in s and "天" in s:
            if len(s)>2:
                return "day-n"
            return "day"
        elif "每" in s and "小时" in s:
            if "每小时" in s:
                return "hour"
            return "hour-n"
        elif "每" in s and "分钟" in s:
            return "minute-n"
        else:
            return ""
    # 增加计划任务
    def add_crontab():
        #     使用网站请求的计划任务
        
        r = requests.post(url_server1.get("url"),headers = url_server1.get("headers")).text
        global cons
        cons = eval(r)
    
    #     使用本地存储的计划任务
    #     f = open('crontab.txt','r',encoding='utf-8')
    #     r = str(f.readlines())
    #     global cons
    #     cons = eval(eval(r)[0])
        for con in cons[::-1]:
            data = {
                'name':con['name'],
                'type':convert(con['type']),
                'where1':con['where1'],
                'hour':con['where_hour'],
                'minute':con['where_minute'],
                'week':con['where1'],
                'sType':con['sType'],
                'sBody':con['sBody'],
                'sName':con['sName'],
                'backupTo':con['backupTo'],
                'save':con['save'],
                'sBody':con['sBody'],
                'status':con['status'],
                'urladdress':con['urladdress'],
                'save_local':con['save_local'],
                'notice':con['notice'],
                'notice_channel':con['notice_channel']
             }
    #         print(data)
            
            r = requests.post(url_server2.get("add"),headers=url_server2.get("headers"),data=data)
            print(r.text)
            id = r.json()['id']
            if con.get("status") == 0:
                data2 = {"id":id}
                print(data2)
                r1 = requests.post(url_server2.get("stop"),headers=url_server2.get("headers"),data=data2)
                print(r1.text)
            id = id+1
            print("*"*30)
    def whichserver(server):
        if server in url_server1.get("url"):
            headers = url_server1.get("headers")
        else:
            headers = url_server2.get("headers")
        return headers
    # 删除server服务器的id从J到K的计划任务
    def del_crontab(j,k,server):
        if server in url_server1.get("del"):
            url = url_server1.get("del")
        else:
            url = url_server2.get("del")
        headers = whichserver(server)
        for i in range(j,k+1):
            r = requests.post(url,headers=headers,data={"id":i})
            print(r.text)
    # 保存server服务器的计划任务
    def save_crontab(server):
        if server in url_server1.get("url"):
            url = url_server1.get("url")
        else:
            url = url_server2.get("url")
        headers = whichserver(server)
        r = requests.post(url,headers = headers).text
        cons = eval(r)
        f = open('crontab.txt','w',encoding='utf-8')
        f.write(str(cons))
        f.close()
        print("保存成功,请到当前目录crontab.txt查看")
    def display(server):
        if server in url_server1.get("url"):
            url = url_server1.get("url")
        else:
            url = url_server2.get("url")
        headers = whichserver(server)
        r = requests.post(url,headers = headers)
        for i in r.json():
            print(i)
    if __name__ == '__main__':
    #     初始化源服务器地址和目的服务器地址
        init("39.106.56.4:8888","127.0.0.1:9999")
    #     展示计划任务,可获取ID
    #     display("127.0.0.1:9999")
    # 开始备份计划任务
        add_crontab()
    #     删除服务器ID从i 到 j的计划任务
    #     del_crontab(1,500,"127.0.0.1:9999")
    #     display("127.0.0.1:9999")
    
    
    
    
    展开全文
  • 添加失败,请查看URL是否正确这里写自定义目录标题 解决方法:https://qdblogs.com/?id=37
  • 宝塔面板计划任务每日重启服务器

    千次阅读 2020-02-03 12:09:04
    有时候服务器需要更新缓存释放内存等需求,可能需要每天定时重启一下...宝塔管理里面找到计划任务——添加一条类型为 Shell脚本 的任务,内容为 reboot,并设置执行周期为每天进行,建议在访客少时执行任务... ...
  • 例如:创建管理网站、FTP、数据库,拥有可视化文件管理器,可视化软件管理器,可视化CPU、内存、流量监控图表,计划任务等功能。0x02 漏洞介绍 宝塔的特定版本存在phpmyadmin未授权访问漏洞,攻击者可以通过...
  • https://www.sansways.com/157.html
  • 应用名称:计划任务备份(导入导出)插件 价格:9.9元/月 作者:偻儸小卒 QQ:747357766 功能介绍:为了用户能很好的管理和移植服务器上的计划任务,开发了本插件。此版本目前不同平台系统的备份(如windows和Linux)...
  • 执行周期建议选择“每天”,时间建议设置在凌晨2点之后访问较少的时候,备份到“成功添加计划任务之后,在下方的“任务列表”中就能看到我们添加的备份网站计划。同样的操作办法,在任务类型中选择“备份数据库”,...
  • 今天这篇教程则是教大家如何使用宝塔面板创建数据库。首先,打开宝塔面板,点击左侧菜单“数据库”进入数据库管理页面,点击“添加数据库”,在弹出数据库添加窗口,输入数据库名、用户名,可以设置密码、数据库的...
  • 如果我想要执行www.example.com网站目录下的a.php程序,应该怎么写这个shell脚本?具体的目录是什么?
  • 在 application/command 目录下 添加计划任务文件 namespace app\command; use think\console\Command; use think\console\Input; use think\console\Output; use think\Db; use think\Log; class TaskDemo ...
  • 宝塔下执行计划任务

    千次阅读 2020-05-07 19:30:35
    最近在宝塔上搭建网站需要通过定期执行python脚本来更新数据 但是在弄的时候遇到了一个问题 这个执行周期到底怎么理解? 经过一番折腾以后总算是明白了 我对执行周期进行了一下整理 在这就以思维导图的形式呈现,...
  • 这篇文章还是基于宝塔面板来搭建。1、简介项目:https://github.com/owen0o0/getFavicondoc:https://api.iowen.cn/doc/favicon.html2、准备宝塔面板(宝塔服务器面板,一键全能部署及管理,送你3188元礼包,...
  • 宝塔设置秒级定时任务

    千次阅读 2020-06-16 12:09:16
    最近要设定时任务宝塔只能设置最小分钟是1分钟 而需求是1秒和3秒所以做出如下修改 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH step= 1 for (( i = 0; i ...
  • 在日常开发运维中,我们一般都会涉及定时任务,比如某个时间段让Tomcat服务重启,笔者这里说下如何在宝塔面板中设置定时任务之Tomcat服务重启。 首先,我们需要编写Shell脚本命令,代码如下: #Tomcat 重启 ...
  • chattr -ai /var/spool/cron 【已解决】计划任务读取文件失败 【已回应】宝塔面板添加计划任务提示读取文件失败
  • 宝塔面板官方解释:宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。有30个人的专业团队研发及维护,经过200多个版本的迭代,功能全,少...
  • cd /www/wwwroot/test.com/ && php think content
  • TP3.2+宝塔实现简单的计划任务

    千次阅读 2019-03-08 10:43:51
    问同事说,宝塔可以设置计划任务,瞬间问题解决了。 处理数据的方法 我用的是TP3.2框架,实现数据重置的方法有两种:1.写在控制器里(BaseController的del_times方法中);2.直接写网站根目录下(del_times.php中)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,176
精华内容 870
关键字:

宝塔设置计划任务