全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2404|回复: 16
打印 上一主题 下一主题

[翻译] 像gd这样没ftp客户端的虚拟主机怎么远程备份?

[复制链接]
跳转到指定楼层
#
发表于 2012-9-18 11:23:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 johnnyfu829 于 2012-9-18 12:23 编辑

我现在的办法是godaddy这边执行一次cron,打包数据,VPS那边再执行一次cron,通过scp把数据从godaddy复制到VPS
2边都要执行cron太麻烦了

想直接在VPS上用ssh连到godaddy,然后就只在VPS上执行一次cron,遇到了技术问题。
在VPS里同时ssh连到godaddy,执行脚本是没问题的,但是在VPS里把这个写到脚本里执行的话,ssh连到godaddy是没问题的
但是后面的脚本不执行了,我想应该是环境变量的问题导致的

在VPS上的脚本是这样的,请大家帮我指出下错误在哪里?谢谢
  1. #!/bin/bash

  2. TMP=/home/backup/godaddy

  3. ssh username@godaddy_ip        /*已经传了证书到godaddy空间,不需要密码直接连接*/
  4. cd data                                   /*godaddy空间的备份目录*/
  5. /var/chroot/bin/bash sitebk         /*执行在godaddy空间上的数据打包和mysql备份的脚本*/
  6. exit                                        /*退出ssh连接*/

  7. cd $TMP
  8. rm -rf $TMP/*__$(date -d -3day +"%Y%m%d").sql $TMP/*_$(date -d -3day +"%Y%m%d").tar.gz

  9. scp username@godaddy_ip:/home/content/xx/xx/data/*.tar.gz /home/backup/godaddy/
  10. scp username@godaddy_ip:/home/content/xx/xx/data/*.sql /home/backup/godaddy/
复制代码
现在的问题是执行这句:ssh username@godaddy_ip
后面就没任何反映了,应该是环境变量的问题,但是我不知道要怎么样来在VPS上的脚本里来加上godaddy空间上的这个环境变量了。
还是说这个办法根本行不通呢?
在VPS上执行这个脚本出现下面2个错误:
  1. ./backupscript: line 6: cd: data: No such file or directory
  2. ./backupscript: line 7: /var/chroot/bin/bash: No such file or directory
复制代码
技术帝出来帮我看下,谢谢

==========================分割线=================================
原来是少了2个"END",修改成下面这样就可以了:
  1. #!/bin/bash

  2. TMP=/home/backup/godaddy

  3. ssh username@godaddy_ip << END        已经传了证书到godaddy空间,不需要密码直接连接
  4. cd data                        godaddy空间的备份目录
  5. /var/chroot/bin/bash sitebk    执行在godaddy空间上的数据打包和mysql备份的脚本
  6. exit                           退出ssh连接
  7. END

  8. cd $TMP
  9. rm -rf $TMP/*__$(date -d -3day +"%Y%m%d").sql $TMP/*_$(date -d -3day +"%Y%m%d").tar.gz

  10. scp username@godaddy_ip:/home/content/xx/xx/data/*.tar.gz /home/backup/godaddy/
  11. scp username@godaddy_ip:/home/content/xx/xx/data/*.sql /home/backup/godaddy/
复制代码
17#
 楼主| 发表于 2012-9-18 12:24:44 | 只看该作者
远坂时臣 发表于 2012-9-18 12:15
手动 ssh 过去 然后
$ echo $PATH
XXXXXXXXXXXX

问题解决了,原来是在ssh xxxxxx 后面少了”<< END"

还是非常感谢你,帖子已经更新
16#
发表于 2012-9-18 12:15:09 | 只看该作者
johnnyfu829 发表于 2012-9-18 11:40
手动这样是一点问题都没的

直接ssh连上去的目录下面就有data这个目录的

手动 ssh 过去 然后
$ echo $PATH
XXXXXXXXXXXX
然后在脚本加上
PATH=XXXXXXXXXXXXX
export PATH
再试试
----------------
PATH就是环境变量,这样做是把手动 ssh 过去的环境变量同步到脚本中,你试试~

评分

参与人数 1威望 +20 收起 理由
johnnyfu829 + 20 谢谢

查看全部评分

15#
 楼主| 发表于 2012-9-18 11:52:18 | 只看该作者
来人啊。。。。。。。。。。。。。。。。。。。
14#
 楼主| 发表于 2012-9-18 11:45:27 | 只看该作者
blu 发表于 2012-9-18 11:31
..逆向备份

现在这样就是逆向备份啊
13#
发表于 2012-9-18 11:44:59 | 只看该作者
压缩包都有大小限制 只有上传下载的时候没有
你说怎么备份啊
12#
 楼主| 发表于 2012-9-18 11:44:22 | 只看该作者
誓誓 发表于 2012-9-18 11:28
这个是免费主机吗?

收费主机,免费主机没有ssh的
11#
 楼主| 发表于 2012-9-18 11:43:42 | 只看该作者
guyusoftware 发表于 2012-9-18 11:33
錯誤是說東西不存在 直接全路徑呢?

现在的问题就是不知道怎么来定义这个路径

我现在是通过VPS上的一个脚本用ssh命令连到godaddy虚拟主机上去的

vps上的脚本使用的肯定是VPS的环境变量,连到godaddy虚拟主机之后,这个环境变量要调整到godaddy设置的这个环境变量了。我现在的问题就是不知道要怎么调整这个环境变量
10#
 楼主| 发表于 2012-9-18 11:40:30 | 只看该作者
远坂时臣 发表于 2012-9-18 11:32
1、./backupscript: line 6: cd: data: No such file or directory,你要先确定默认用ssh连上去的根目录是 ...

手动这样是一点问题都没的

直接ssh连上去的目录下面就有data这个目录的

后面那个问题,/var/chroot/bin/bash,这个是参考官方cron里面的参数的
/bin/bash,这个是chroot之后的路径   godaddy的cron用的是这个路径,但那是在localhost上执行的

现在的问题是cd这步都出错了,下面一步根本没法调试
9#
发表于 2012-9-18 11:33:01 | 只看该作者
錯誤是說東西不存在 直接全路徑呢?
8#
发表于 2012-9-18 11:32:04 | 只看该作者
1、./backupscript: line 6: cd: data: No such file or directory,你要先确定默认用ssh连上去的根目录是哪,然后再 cd 去正确的路径 data
2、./backupscript: line 7: /var/chroot/bin/bash: No such file or directory,这个 bash 命令路径是否正确,你怎么得来的?
---------
你手动连过 ssh 确认可行么?
都是这2个错误导致你说后面没任何反应的~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-15 03:44 , Processed in 0.103258 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表