Python 脚本自启动及定时任务

爬虫脚本定时运行(crontab)

https://www.jianshu.com/p/5cd74add11ba 没有采用简书的方案,上面的博客方案更加清晰。以下是我的笔记(重点是环境变量,路径,scp的使用方法)

不需要root,执行以下命令:
crontab -e
编辑:
#注意这里最好把环境变量写上
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/home/chen/miniconda3/bin/
MAILTO=root
#测试:两分钟执行一次
*/2 * * * * echo "crontab test" >> /home/chen/ctest.txt
#写的python脚本每5分钟执行一次(注意python脚本中文件路径必须是绝对路径,否则报错)
*/5 * * * * /home/chen/miniconda3/bin/python /home/chen/CoV_copy2.py 
#scp python脚本产生的HTML到博客服务器(这里用了密钥而不是密码)。注意:所有的路径都#使用绝对路径,否则无效。
* * * * * scp -i /home/chen/.ssh/do248 -P 4705 /home/chen/2019-nCov数据一览2.html [email protected]:/home/wwwroot/geoseis.cn/CoV.html >> /home/chen/cov.log
# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

linux定时执行失败的处理方法就是查看 /var/spool/mail/ ,一般root里都有日志,可以看到哪里出错了。

这个爬虫脚本放到vpn后需要更新很多:

  • 文件路径必须为绝对路径
  • pyecharts的Geo函数bug:遇到不存在的地点Geo函数就会使程序退出,即使用了except也不行,和笔记本环境不一样。笔记本里运行程序不会退出。解决方案就是复制了旧版本的一些.py程序到相应的目录
  • proxy在VPN中没有设置好,因为笔记本里用的SSR代理的(5个VPN)。这个脚本五分钟执行一次不需要代理也可以

scp的使用

scp推荐使用密钥传输,更加安全。密钥产生后我直接append到目标服务器的/home/chen/.ssh/authorized_keys,然后scp -i 就可以无密码传输了。

运行 ssh-keygen -t dsa 时最好设置密码,否则密钥没有密码也不安全。

参考:

It’s better to set up ssh to used key-based authentication rather than trying to figure out how to send text to the login process with something like expect.

Take a look at:

https://help.ubuntu.com/community/SSH/OpenSSH/Keys

So, basically, run ssh-keygen -t dsa on the machine that will run your script. When it asks you for a passphrase, hit ENTER to accept a blank. You will get two files. If you followed the default suggestions, the files will be ~/.ssh/id_dsa and ~/.ssh/id_dsa.pub. The first one is the private key. The second one is the public key.

Copy the public key to the second server using ssh-copy-id [email protected]. This will add the public key to the authorized_keys file of the user on server2.

You should now be able to run ssh from the first machine and log in without a password.

For copying the files, scp or rsync are fine. It depends on what you’re doing. rsync will use ssh by default, so will use the key-based authentication you just set up

微软azure VPS测评

azure vps

昨天下班后睡觉前忽然想全面测试下微软的这个小鸡怎么样,和预料的一样,磁盘IO渣渣(15-20MB/sec),到国内ping值很低(100 ms以内),延时非常短,搭梯子应该是最佳选择,做其他的不一定行,估计最多搭个小网站这种轻量应用。

不说废话,看图:

下面是详细测评报告:

继续阅读“微软azure VPS测评”

Vultr多台流畅滴上线

虽然船上网速很挫,还是挤出时间给几位朋友开了很多台云服务器,就是所谓的vps,完成了后续服务。虽然服务是免费的,但是也不能打折呀[微笑]!前两张图可以看出船上的网速,这已经是我遇到的最好的船载网速了,卫星宽带还是贵啊!
虽然众多小白吐槽东京服务器,vultr还是我的最爱,开台机器随便折腾。今天遇到了一个新问题,因为有的机子没有绑定域名,ssr和网站服务端口冲突了,死活连接不上。各种troubleshooting之后发现了这个曾经趟过的坑儿。
开工没几天,船上已经收了几百个TB的数据了,700TB的数据库今天爆了。不得不说,还是大公司的技术和服务好些,小公司还是差很远。处理好的数据写入磁盘也很复杂,没有标准体系确实不行。

恭喜Elva的Vultr vps成功上线

在此声明,最近太忙了,估计没那么多时间帮大家搭建服务器了。急用的可以在我的博客留言。

欢迎关注我的博客www.geoseis.cn,会定时更新。

这次也是基于vultr的服务器和wordpress,一口气开了10台,可以测试一段时间,优选出速度快的。以后有时间可以这个脚本,尽量简化开机程序,不然太费事了。

除了五台东京服务器,其他几个是新加坡,多伦多,洛杉矶,硅谷,达拉斯的服务器。东京的如果好使速度是最快的,基本上和距离成反比。西海岸也还好,比较稳定,一般ping在200多ms,当然速度不只是看ping值。

5美金一个月的小飞机,功能强悍,1Tb流量,25G SSD硬盘,邮件服务器,网盘,网站,还有些特殊的功能,你懂的。

恭喜丁总的基于vultr vps的私人订制网站上线

太晚了,不多说了,再说四个小时也睡不成了。

oil-cube.cn

vultr vps,cloudflare CNN加速(当然也能隐藏ip),denyhosts,ddos,ufw防火墙,一系列安全措施都到位了。ip被封很快能新开机器,半小时之内。

热心肠的我最近没怎么睡觉,睡觉😪