好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php执行rsync php执行sql文件

很多站长朋友们都不太清楚php执行rsync,今天小编就来给大家整理php执行rsync,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHPStorm同步多个服务器 2、 如何通过rsync+sersync 实现同步备份 3、 4-10.8 Linux 中的文件同步传输 --- rsync --delete 接收端镜像形式备份源数据 4、 如何手动升级ownCloud到7.0.1 5、 rsync的几种优化应用方案 PHPStorm同步多个服务器

PHPStorm没这个能力, 但你毕竟是个程序员

两个方案:

PHPStorm同步到单台服务器, 然后该服务器用inotify + rsync 同步到其他服务器.

phpstorm -> 中间服务器 -> (目标服务器1, 2, ,3, 4, 5)

PHPstorm设置FileWatch 然后触发本地脚本自行上传到多个服务器. 比如用PHP写个ftp上传脚本, 参数是文件路径.

如何通过rsync+sersync 实现同步备份

如何通过rsync+sersync 实现同步备份

3、rsync+sersync更快更节约资源实现web数据同步

4、unison+inotify实现web数据双向同步

一:为什么要实现同步备份

服务器上有些重要文件或数据时,可以把他们多备份一份到其他服务器上,这样就不怕数据或文件丢失了。

二:环境的搭建

服务器A:192.168.1.10 源服务器

服务器B: 192.168.1.20 目的服务器

我们要实现的就是把A服务器上的文件同步到B服务器上,从而实现备份。我们主要是在B服务器上安装配置rsync,在A服务器上安装配置sersync,通过sersync把文件推送到B服务器上

三:开始搭建

从B服务器开始:

1.关闭selinux,在/etc/sysconfig/selinux 这个文件,设置SELINUX=disable

2.防火墙开通873端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT

3.开始安装rsync

yum install rsync -y

4.配置rsync,rsync的配置文件是/etc/rsyncd.conf,配置如下:

图下方需要注意的地方:secrets file这个是配置同步的密码文件的。[rsynctest]这个是配置同步模块的名称,path是配置同步的目录,hosts allow是允许同步的主机,hosts deny:拒绝同步的主机

5.创建同步的用户与密码的文件,即上图中的secrets file这个配置选项中的文件。/etc/rsync.passwd,同进要设置这个文件的权限为600

echo "user:password" >> /etc/rsync.passwd

chmod 600 /etc/rsync.passwd

6.创建同步的目录:即上图中path配置选项中的目录。

mkdir /home/rsynctest

7.启动rsync

rsync --daemon --config=/etc/rsyncd.conf

接着重启一下xinetd

/etc/init.d/xinetd restart

8.配置开机启动 echo "rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.d/rc.local

到这样B服务器基本就配置完成了。

接着配置A服务器:

1.先到sersync官网下载sersync:

wget

2.安装sersync

# mkdir /usr/local/sersync

# mkdir /usr/local/sersync/conf

# mkdir /usr/local/sersync/bin

# mkdir /usr/local/sersync/log

# tar zxvf sersync2.5_32bit_binary_stable_final.tar.gz

# cd GNU-Linux-x86/

# cp confxml.xml /usr/local/sersync/conf

# cp sersync2 /usr/local/sersync/bin

3.创建密码文件,同B服务器一样,不过这个文件只要保存一个密码就行了,不用用户名,权限也是600

echo "password" >> /etc/rsync.passwd

chmod 600 /etc/rsync.passwd

4.配置sersync,配置文件就是上第二步复制的confxml.xml这个文中,路径在/usr/local/sersync/conf中

---------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="ISO-8859-1"?>

<head version="2.5">

# 设置本地IP和端口

<host hostip="localhost" port="8008"></host>

# 开启DUBUG模式

<debug start="false"/>

# 开启xfs文件系统

<fileSystem xfs="false"/>

# 同步时忽略推送的文件(正则表达式),默认关闭

<filter start="false">

<exclude expression="(.*)\.svn"></exclude>

<exclude expression="(.*)\.gz"></exclude>

<exclude expression="^info/*"></exclude>

<exclude expression="^static/*"></exclude>

</filter>

<inotify>

# 设置要监控的事件

<delete start="true"/>

<createFolder start="true"/>

<createFile start="true"/>

<closeWrite start="true"/>

<moveFrom start="true"/>

<moveTo start="true"/>

<attrib start="true"/>

<modify start="true"/>

</inotify>

<sersync>

# 本地同步的目录路径

<localpath watch="/data">

# 远程IP和rsync模块名

<remote ip="192.168.1.20" name="data"/>

<!--<remote ip="192.168.8.39" name="tongbu"/>-->

<!--<remote ip="192.168.8.40" name="tongbu"/>-->

</localpath>

<rsync>

# rsync指令参数

<commonParams params="-auvzP"/>

# rsync同步认证

<auth start="true" users="user" passwordfile="/etc/rsync.passwd"/>

# 设置rsync远程服务端口,远程非默认端口则需打开自定义

<userDefinedPort start="false" port="874"/><!-- port=874 -->

# 设置超时时间

<timeout start="true" time="100"/><!-- timeout=100 -->

# 设置rsync+ssh加密传输模式,默认关闭,开启需设置SSH加密证书

<ssh start="false"/>

</rsync>

# sersync传输失败日志脚本路径,每隔60会重新执行该脚本,执行完毕会自动清空。

<failLog path="/usr/local/sersync/log/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->

# 设置rsync+crontab定时传输,默认关闭

<crontab start="false" schedule="600"><!--600mins-->

<crontabfilter start="false">

<exclude expression="*.php"></exclude>

<exclude expression="info/*"></exclude>

</crontabfilter>

</crontab>

# 设置sersync传输后调用name指定的插件脚本,默认关闭

<plugin start="false" name="command"/>

</sersync>

# 插件脚本范例

<plugin name="command">

<param prefix="/bin/sh" suffix="" ignoreError="true"/> <!--prefix /opt/tongbu/mmm.sh suffix-->

<filter start="false">

<include expression="(.*)\.php"/>

<include expression="(.*)\.sh"/>

</filter>

</plugin>

# 插件脚本范例

<plugin name="socket">

<localpath watch="/opt/tongbu">

<deshost ip="192.168.138.20" port="8009"/>

</localpath>

</plugin>

<plugin name="refreshCDN">

<localpath watch="/data0/htdocs/cms.xoyo测试数据/site/">

<cdninfo domainname="ccms.chinacache测试数据" port="80" username="xxxx" passwd="xxxx"/>

<sendurl base=""/>

<regexurl regex="false" match="cms.xoyo测试数据/site([/a-zA-Z0-9]*).xoyo测试数据/images"/>

</localpath>

</plugin>

</head>

------------------------------------------------------------------------------------------------------------------

5.创建同步目录:mkdir /home/rsynctest

6.设置环境变量:

# echo "export PATH=$PATH:/usr/local/sersync/bin/" >> /etc/profile

# source /etc/profile

7.启动sersync

sersync2 -r -d -o /usr/local/sersync/conf/confxml.xml

注:重启操作如下:

# killall sersync2 sersync2 -r -d -o /usr/local/sersync/conf/confxml.xml

8.设置开机启动

# echo "sersync2 -r -d -o /usr/local/sersync/conf/confxml.xml" >> /etc/rc.local

更多详情可以看这个里面的

4-10.8 Linux 中的文件同步传输 --- rsync --delete 接收端镜像形式备份源数据

2、执行 rsync -a --delete 把 SRC 目录下的内容传输到 backups_delete 目录,backups_delete 以镜像形式保存 SRC 目录的内容。backups_delete 目录的内容和 SRC 目录的内容保持一致。

3、第 2 点通过 -a --delete 完成了 SRC 目录文件的备份,可能没有突显镜像备份的形式。现在 backups_delete 增加一些内容,然后用 -a --delete 再传输一次数据作一个对比就会清晰了。

backups_delete 目录下新增两个目录 directory1 和 directory2,directory1目录新增一个 file3.txt 文件,directory2目录新增一个 file4.txt 文件。操作 和 目录结构如下:

-a --delete 再传输一次数据,可以发现刚才新建的目录和文件都被删除了,backups_delete 目录只保存和 SRC 源目录一致的内容。形成一个 SRC 目录内容的镜像。

4、同理,把 backups_delete 的 file1.txt 文件删除,再用 -a --delete 再传输一次数据。

由上述实验可以看出 --delete 作用于接收端,把目标目标以镜像模式备份源目录的数据。目标目录比源目标多出的内容将会被删除。对比源目录,比源目录少的内容会补上。

如何手动升级ownCloud到7.0.1

ownCloud是一款保持更新的开源私有云系统,基于PHP5开发的。支持SQLite、MySQL、Oracle以及PostgreSQL等数据库。本文介绍的是如何手动升级的步骤。

请务必遵循以下原则升级:

1、备份原文件夹;

2、停用所有第三方apps;

3、解压最新版的安装包,覆盖到原文件夹中;

4、确认所有的文件和文件夹权限是正确的;

5、打开ownCloud首页,升级自动进行。

假设将ownCloud安装在web根目录下的./ownCloud/文件夹中,SSH登录,进入web根目录后按照如下步骤进行升级:

1、使用rsync命令的存档模式备份./ownCloud/文件夹(该模式可以保留文件权限、拥有者、时间戳等信息),执行命令如下:

rsync -a owncloud/ owncloud_bkp`date +"%Y%m%d"`/

2、官网下载最新版ownCloud,执行命令如下:

wget

3、将最新版的压缩包解压到./owncloud_latest/文件夹,执行命令如下:

mkdir owncloud_latest

tar -C owncloud_latest -xjf owncloud-latest.tar.bz2

4、使用rsync命令覆盖./ownCloud/文件夹,执行命令如下:

rsync --inplace -rtv owncloud_latest/owncloud/ owncloud/

5、删除安装包(安全起见),执行命令如下:

rm -rf owncloud-latest.tar.bz2 owncloud_latest/

注意事项:

1、如果你已经上传了大量的数据,请在升级时确认硬盘空间是否足够;

2、在后台点击升级,只会下载最新版安装包到backup文件夹,并不会自动安装,同时会将config.php中的maintenance mode修改为true。

这就会导致一个错误提示“OwnCloud is in maintenance mode”,因此在手动升级后,需要将./owncloud/config/config.php中的maintenance mode从true改为false,再打开首页才能顺利升级;

3、升级到最新版的ownCloud后,经过我的测试(测试环境:CentOS6.4_x86, LAMP一键安装包),是可以很好的支持中文的(目录名和文件名皆可)。

rsync的几种优化应用方案

rsync是用来做文件同步的一个很好的工具,传统的rsync就是使两个目录的文件保持一致,但随着文件数量增多,rsync会造成同步缓慢,系统负载比较高,直至系统死机。

为了解决文件增多导致rsync变慢的问题,方案是很多的。

1、使源目录保存较少文件

这是一个传统优化办法,因为rsync虽然是同步所有文件,但和同步最近更新的文件是一个道理,因此将源服务器上的目录删除,仅仅保持最近更新的文件,文件数量就变得不但很少,而且是稳定的,随着时间推移,这数量也不会涨得很快。但这样做有个缺点,就是rsync不能使用删除模式,如果有文件要删除,可以将其弄成空文件,假如有更严格要求,可以另一个程序来删除。

2、使用/dev/shm内存分区

在源目录保持较少文件的前提下,将文件不存在硬盘上而放入内存,就可以避免系统IO带来的问题,但是这个内存分区在系统reboot后会丢掉所有数据,虽然并不常常需要reboot,但是其中的风险也需要计算清楚。

3、使用推送方式

因为性能问题是出现在rsync的客户端,用生产服务器抓取源服务器的话,性能问题就会出现在生产服务器上,这当然不很妥当。假如在生产服务器上使用 rsync daemon,源服务器执行rsync命令将文件推送到生产服务器上,性能问题就转移到了源服务器上,这在一定程度可以保证生产服务器的稳定性。

4、仅用一台作同步比较

假如源服务器的文件要被同步到很多台生产服务器,那么会出现rsync并发。可以分析到这些生产服务器在同一时刻文件是一致的,因此每台机都和源服务器做一次比较就是浪费的。这时可以让源服务器和生产服务器同步一次,并且使用-v参数打印出log,其它生产服务器通过同步这个log记录的文件就可以避免数次比较过程。

5、使用inotify

inotify就不是rsync了,inotify是一个守护进程,它可以监控到文件目录下的文件变动情况,根据其输出然后用rsync做文件传输,就可以减掉文件比较这个环节。inotify使用并不复杂,对文件变更情况的监控是实时的,也不消耗很多性能。

6、双路同步

以上均是对rsync性能方面做优化,但是优化也会带来问题。在3、4、5号方案中,假如生产服务器有一台机器因为负载或其它问题reboot了,在 reboot过程中同步就失败了,这部分失败的文件假如没有其它处理,就永远不会再同步到生产服务器上。这时可以使用多一路rsync来处理,譬如使用 inotify,做到了实时同步,然后再每小时进行一次完整的rsync同步。这样就可以保证有很高的同步速度,又能使丢失文件的风险控制在一小时之内。

关于php执行rsync的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php执行rsync php执行sql文件的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did211352
更新时间:2023-05-03   阅读:26次

上一篇: php解析腾讯视频 腾讯视频解析json算法

下一篇:php进出库管理 php进销存源码

最新资料更新

  • 1.php中数据汇总 php数据统计
  • 2.php有关线程问题 php多线程
  • 3.php移动gps定位 functionsphp位置
  • 4.php俄罗斯方块 俄罗斯方块的网址
  • 5.mk_dirphp mkdirphp
  • 6.php配置外网访问 phpstudy外网映射
  • 7.php拼音模糊查询 php模糊搜索功能
  • 8.零基础php模板 php0基础教程
  • 9.php页面加ico php嵌入网页
  • 10.php判断字符串的编码 php 判断字符串是否存在某个字符串
  • 11.php编写确认密码 php用户名密码
  • 12.php保存用户信息 php登录成功保存session
  • 13.php根据城市定位 php获取位置信息
  • 14.基于php在线聊天 php 在线聊天
  • 15.学php学什么专业 学php可以干什么工作
  • 16.token验证php Token验证失败异地登陆什么意思
  • 17.php5.2cgi的简单介绍
  • 18.php体彩投注 体彩官方投注
  • 19.php在线做点兼职 php在线做点兼职是真的吗
  • 20.数组对象转为数组php 对象数组转string

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]