如何定时每天某个时间自动化的以管理员权限运行python脚本

要定时每天某个时间自动化地以管理员权限运行Python脚本,你可以结合使用Windows的任务计划程序和管理员权限运行的命令提示符或PowerShell。以下是详细的步骤:

  1. 创建一个批处理文件:打开文本编辑器,将以下内容复制并粘贴到新文件中:
@echo off
cd C:\path\to\script_directory
python script.py

将 C:\path\to\script_directory 替换为包含Python脚本的目录的路径,将 script.py 替换为你要运行的Python脚本的文件名。保存文件时,将其命名为 run_script.bat 或其他你喜欢的名称,并确保文件扩展名为 .bat。

  1. 打开任务计划程序:按下 Win + R 组合键打开运行对话框,然后输入 taskschd.msc 并按 Enter 键打开任务计划程序。

  2. 创建一个新任务:在任务计划程序中,点击左侧的 "创建基本任务"。

  3. 配置任务的基本信息:

  • 在 "名称" 输入框中,为任务提供一个描述性的名称,例如 "定时运行Python脚本"。
  • 在 "描述" 输入框中,提供任务的简要描述。
  • 点击 "下一步" 继续。
  1. 配置触发器设置:
  • 选择触发任务的类型为 "每天"。
  • 在触发任务的时间设置中,指定任务的开始时间和重复频率。例如,你可以选择每天的特定时间来触发任务。
  • 点击 "下一步" 继续。
  1. 配置操作:
  • 选择 "启动程序" 作为任务的操作类型,并点击 "下一步"。
  • 在 "程序/脚本" 输入框中,输入 cmd.exe 或 powershell.exe,取决于你想要使用命令提示符还是PowerShell来运行批处理文件。
  • 在 "参数" 输入框中,添加 /c "path\to\run_script.bat",其中 path\to\run_script.bat 是你在步骤1中创建的批处理文件的路径。
  • 在 "起始于" 输入框中,输入批处理文件所在的目录的路径,例如 C:\path\to。
  • 点击 "下一步" 继续。
  1. 配置其他设置:
  • 根据需要,可以配置其他设置,如任务的优先级、运行时的用户权限等。
  • 在 "完成" 页面上,你可以检查所有设置并进行必要的更改。
    这样,你就创建了一个定时任务,每天在指定的时间以管理员权限运行批处理文件,而批处理文件又会以管理员权限运行Python脚本。你可以在任务计划程序中查看和管理这个任务,并根据需要进行修改或删除。

请确保提供正确的路径和文件名,并根据需要选择使用命令提示符或PowerShell来运行批处理文件。

解决 Vue 项目 invalid host header 问题(两种方案)

根目录创建 vue.config.js 文件,内容如下:

module.exports = {
  devServer: {
    //disableHostCheck: true,
    allowedHosts: [
      'tangsai.top',   // 允许访问的域名地址,即花生壳内网穿透的地址
      '.tangsai.top'   // .是二级域名的通配符
    ],
    port: 8000
  }
}

参考:
解决 Vue 项目 invalid host header 问题(两种方案)
如何修复Vue 3中的“Error:Unknown option:devServer”

记一次服务器迁移

一年期服务器到期,迁移记录下

0 用宝塔面板一键迁移迁移网站及数据库

迁移ht_insight_quntify

  1. hiredis库+头文件 sudo ldconfig /usr/local/lib
  2. mysql 头文件
  3. 安装protobuf protoc 3.1.0
  4. 解决编译问题
  5. 修改redis绑定ip为0.0.0.0且必须天添加密码(宝塔面板操作)
  6. mysql 密码在宝塔面板查看
  7. crontab 添加定时任务: 05 17 * root /root/stock_quantify/ht_insight_quantify/bin/load_data_every_17pm.sh

迁移tushare_quntify

  1. install Miniconda
    Miniconda3-latest-Linux-x86_64.sh
  2. 更换python版本
    conda list
    conda remove python
    conda install python=3.7
  3. pip install tushare
  4. pip install redis
  5. 更换protobuf版本
    pip install protobuf==3.1.0

Linux crontab定时任务

配置

1.编写第一个shell文件 hello.sh
vim hello.sh

#!/bin/bash
echo "hello word !!" >> /www/hello.txt

2、通过chmod命令赋予该脚本的执行权限
chmod 755 hello.sh
3、新增调度任务(5分钟执行一次)
vim /etc/crontab

*/5 * * * * root /www/hello.sh

crond服务

service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态

https://blog.csdn.net/weixin_36211536/article/details/116990991

报错解决

postfix报错postfix: fatal: parameter inet_interfaces: no local interface found for ::1
==》vim /etc/postfix/main.cf
发现配置为:
inet_interfaces = localhost
inet_protocols = all
改成:
inet_interfaces = all
inet_protocols = all
重新启动
service postfix start

crond运行python 文件报错:SyntaxError: invalid syntax

crond运行环境变量与手动执行不同,建议crontab和脚本里无论是命令还是文件路径都用绝对路径
另外,source /etc/profile(这个可以加到脚本里)
https://blog.csdn.net/ranran0224/article/details/76119524

文件过大,crond停止执行

postdrop: warning: uid=0: File too large
sendmail: fatal: root(0): message file too big
postdrop: warning: uid=0: File too large
sendmail: fatal: root(0): message file too big

js 调试、定时器、重新加载页面、自动更新js

代码调试之console.log:https://www.jb51.net/article/93941.htm
js定时器:https://blog.csdn.net/ScumStudy/article/details/121003895
js重新加载页面的方法:https://www.jb51.net/article/113710.htm
在html中,给引用的js文件自动添加版本号,去掉js缓存:https://blog.csdn.net/xiaojin21cen/article/details/86495767
js实现股票实时刷新数据案例:https://www.jb51.net/article/113710.htm

mysql 开发-存储序列化二进制字符串

官方文档:https://www.mysqlzh.com/doc/194.html

首先最重要的要使用二进制类型存储数据,MySQL支持二进制的类型有Blob

MySQL的四种BLOB类型

类型 大小(单位:字节)
TinyBlob 最大 255
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G

相关函数

存储序列化二进制字符串:
mysql_real_escape_string() ==> 连接二进制字符串
int mysql_real_query(MYSQL mysql, const char query, unsigned long length) ==> 存储and查询
mysql_num_fields(result); ==> 获取结果row 字段个数
mysql_fetch_lengths(result); ==> 获取结果row 字符长度数组

参考:https://blog.csdn.net/nibiru_holmes/article/details/51387047

linux – sftp, scp, rz, sz(文件传输命令)

1. sftp

Secure Ftp 是一个基于SSH安全协议的文件传输管理工具。由于它是基于SSH的,会在传输过程中对用户的密码、数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性。在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作)。Sftp与ftp虽然只有一字之差,但基于的传输协议却是不同的。因此不能用sftp client去连接ftp server 也不能用 ftp client 去连接 sftp server。
建立连接:sftp user@host
从本地上传文件:put localpath
下载文件:get remotepath
切换远程目录:cd
显示远程工作目录:pwd
建立远程目录:mkdir
与远程相对于的本地操作,只需再命令前加上“l”即可
如:lcd lpwd lmkdir

参考:https://blog.csdn.net/tjcwt2011/article/details/120779486

pyhton3用命令python -m http.server 搭建服务器

(base) [root@VM-20-16-centos ~]# python -m http.server --help
usage: server.py [-h] [--cgi] [--bind ADDRESS] [--directory DIRECTORY] [port]

positional arguments:
  port                  Specify alternate port [default: 8000]

optional arguments:
  -h, --help            show this help message and exit
  --cgi                 Run as CGI Server
  --bind ADDRESS, -b ADDRESS
                        Specify alternate bind address [default: all
                        interfaces]
  --directory DIRECTORY, -d DIRECTORY
                        Specify alternative directory [default:current
                        directory]