php技术博客

记录php相关学习知识及开发示例、疑难问题等

线上服务器搭建git服务,本地代码上传实现自动同步到线上服务器指定web目录

最新公司有个项目代码需要规范化,可以查看历史记录及··可以·回滚操作,所以考虑使用在服务器上搭建git服务器,并设置钩子,当我们上传代码后自动同步到服务器代码目录下。下面为具体步骤1、服务器上安装git程序yum install git2、在服务器上创建 裸版本库git init --bare demo.git//参数 --bare 是代表创建裸仓库3、本地Clone远程的代码仓库到本地git clone git@39.99.204.74:/home/git/demo.git本地更新代码后,推送到远端git push origin master4、之前步骤实现了本地推送到服务器仓库中,如何实现自动同步到服务器代码目录里面了?自动同步功能用到的是 git 的钩子功能。服务器端,进入 对应仓库,如cd /home/git/demo.git创建post-receive文件cd hooksvi post-receive在里面添加文件#!/bin/bashgit --work-tree=/www/wwwroot/demoroot checkout -fPS:1、其中 /www

记一次crontab定时任务不执行问题分析与解决

之前用python+selenium写了一个抓取网页的脚本,直接执行脚本都是正常的,放到crontab下,利用任务计划来执行,但是没有正确执行到脚本内容。通过查看任务计划日志 /var/log/cron,发现对应时间点有执行脚本。这种情况只能是脚本执行过程中有异常情况中断了,然后记录 脚本执行的日志及错误日志。通过查看错误日志,提示“'chromedriver' executable needs to be in PATH.”。命令行下 whereis chromedriver,能找到对应命令。看来 crontab中环境变量 配置的值不一致造成的。通过网页搜索,定时任务执行时环境变量 加载 /etc/crontab里面 PATH 的值。所以有两种方法解决(1)、修改 /etc/crontab文件文件末尾添加 source /etc/bashrc(2)、修改任务计划脚本,添加对应环境变量配置* * * * * source /etc/bashrc;/usr/bin/python3 /tmp/caiji.py或* * * * * export PATH=&quot

命令环境变量PATH设置方法

经常遇到执行命令找不到的问题,这是因为没有加入到PATH中的问题,如 chrome命令地址为 /opt/google/chrome/chrome,临时性可以执行下面命令export PATH="$PATH":/opt/google/chrome/如果需要永久有效,即重启后还有效,需要在配置文件里面修改。在文件 /etc/bashrc 文件末尾添加export PATH=$PATH:/opt/google/chrome保存即可。立即生效,也可以在修改后执行命令source /etc/bashrc

linux查看添加删除swap分区详解

一般情况为内存不够,或者临时部分情况下,内存不足。可以设置虚拟内存,一般设置不超过真实内存的2倍。对于内存很充裕的情况下,设置虚拟内存作用不大。虚拟内存与真实内存性能上还是存在一定的差距,如果内存确实缺的比较多,建议还是升级硬件的好。1、查看当前swap情况free -m 或 swapon -s 命令2、添加swap分区步骤(1)、使用dd命令创建swap交换文件dd if=/dev/zero of=/var/swapfile bs=1M count=2048if(即输入文件,input file),of(即输出文件,output file)。dev/zero是Linux的一种特殊字符设备(输入设备),可以用来创建一个指定长度用于初始化的空文件,如临时交换文件,该设备无穷尽地提供0,可以提供任何你需要的数目。 bs=1024 :单位数据块(block)同时读入/输出的块字节大小为1024 个字节即1KB,bs(即block size)。count=2048000 :数据块(block)数量为2048000 ,即2048000个1KB。可以计算swap分区的容量为:1KB 2097152