找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 162|回复: 14

关于VPS备份脚本

[复制链接]

18

主题

76

回帖

218

积分

中级会员

积分
218
发表于 2016-12-19 17:33:10 | 显示全部楼层 |阅读模式
本帖最后由 红猫警长 于 2016-12-19 19:31 编辑

dalao,请教个脚本问题
我弄了个备份脚本runbackup.sh
内容[ol]
  • #!/bin/bash
  • /root/lnmp1.3/tools/backup.sh
  • /root/Dropbox-Uploader/dropbox_uploader.sh upload /home/backup /Backups
  • rm -rf /home/backup[/ol]复制代码

    单独在XSHELL里执行/root/lnmp1.3/tools/backup.sh和/root/Dropbox-Uploader/dropbox_uploader.sh upload /home/backup /Backups 是没问题的,就是执行runbackup.sh的时候有提示。
    [ol]
  • : No such file or directory/lnmp1.3/tools/backup.sh
  • > No such file or directory: /home/backup
  • [/ol]复制代码
    怎么破?
    /root/lnmp1.3/tools/backup.sh 这个文件是存在的,但是貌似找不到?

    CENTOS7

    贴上/root/lnmp1.3/tools/backup.sh 的内容
    [ol]
  • #!/bin/bash
  • #Funciont: Backup website and mysql database
  • #Author: licess
  • #Website: http://lnmp.org
  • #IMPORTANT!!!Please Setting the following Values!
  • Backup_Home="/home/backup/"
  • MySQL_Dump="/usr/local/mysql/bin/mysqldump"
  • ######~Set Directory you want to backup~######
  • Backup_Dir=("/home/wwwroot/www.lnmp.org" "/usr/local/nginx/conf")
  • ######~Set MySQL Database you want to backup~######
  • Backup_Database=("lnmp")
  • ######~Set MySQL UserName and password~######
  • MYSQL_UserName='lnmp'
  • MYSQL_PassWord='lnmppassword'
  • ######~Enable Ftp Backup~######
  • Enable_FTP=1
  • # 0: enable; 1: disable
  • ######~Set FTP Information~######
  • FTP_Host='1.2.3.4'
  • FTP_Username='vpser.net'
  • FTP_Password='yourftppassword'
  • FTP_Dir="backup"
  • #Values Setting END!
  • TodayWWWBackup=www-*-$(date +"%Y%m%d").tar.gz
  • TodayDBBackup=db-*-$(date +"%Y%m%d").sql
  • OldWWWBackup=www-*-$(date -d -3day +"%Y%m%d").tar.gz
  • OldDBBackup=db-*-$(date -d -3day +"%Y%m%d").sql
  • Backup_Dir()
  • {
  •     Backup_Path=$1
  •     Dir_Name=`echo ${Backup_Path##*/}`
  •     Pre_Dir=`echo ${Backup_Path}|sed 's/'${Dir_Name}'//g'`
  •     tar zcf ${Backup_Home}www-${Dir_Name}-$(date +"%Y%m%d").tar.gz -C ${Pre_Dir} ${Dir_Name}
  • }
  • Backup_Sql()
  • {
  •     ${MySQL_Dump} -u$MYSQL_UserName -p$MYSQL_PassWord $1 > ${Backup_Home}db-$1-$(date +"%Y%m%d").sql
  • }
  • if [ ! -f ${MySQL_Dump} ]; then  
  •     echo "mysqldump command not found.please check your setting."
  •     exit 1
  • fi
  • if [ ! -d ${Backup_Home} ]; then  
  •     mkdir -p ${Backup_Home}
  • fi
  • type lftp >/dev/null 2>&1 || { echo >&2 "lftp command not found. Install: centos:yum install lftp,debian/ubuntu:apt-get install lftp."; }
  • echo "Backup website files..."
  • for dd in ${Backup_Dir[@]};do
  •     Backup_Dir ${dd}
  • done
  • echo "Backup Databases..."
  • for db in ${Backup_Database[@]};do
  •     Backup_Sql ${db}
  • done
  • echo "Delete old backup files..."
  • rm -f ${Backup_Home}${OldWWWBackup}
  • rm -f ${Backup_Home}${OldDBBackup}
  • if [ ${Enable_FTP} = 0 ]; then
  •     echo "Uploading backup files to ftp..."
  •     cd ${Backup_Home}
  •     lftp ${FTP_Host} -u ${FTP_Username},${FTP_Password} 复制代码

    dropbox脚本见https://github.com/andreafabrizi/Dropbox-Uploader/
  • 回复

    使用道具 举报

    342

    主题

    2835

    回帖

    6788

    积分

    论坛元老

    积分
    6788
    发表于 2016-12-19 17:45:24 | 显示全部楼层
    权限?
    回复

    使用道具 举报

    18

    主题

    76

    回帖

    218

    积分

    中级会员

    积分
    218
     楼主| 发表于 2016-12-19 17:50:40 | 显示全部楼层

    安之若素 发表于 2016-12-19 17:45

    权限?

    # chmod +x runbackup.sh
    给权限了
    回复

    使用道具 举报

    179

    主题

    1158

    回帖

    2931

    积分

    金牌会员

    积分
    2931
    发表于 2016-12-19 17:45:00 | 显示全部楼层
    你是以什么身份执行的runbackup.sh?
    回复

    使用道具 举报

    18

    主题

    76

    回帖

    218

    积分

    中级会员

    积分
    218
     楼主| 发表于 2016-12-19 18:16:20 | 显示全部楼层

    yjsx86 发表于 2016-12-19 18:16

    你是以什么身份执行的runbackup.sh?

    直接ROOT用户在命令行执行的,
    然后也添加了定时任务crontab
    回复

    使用道具 举报

    0

    主题

    23

    回帖

    58

    积分

    注册会员

    积分
    58
    发表于 2016-12-19 18:29:46 | 显示全部楼层
    你给权限的是runbackup.sh,但是运行的却是backup.sh
    回复

    使用道具 举报

    18

    主题

    76

    回帖

    218

    积分

    中级会员

    积分
    218
     楼主| 发表于 2016-12-19 18:16:00 | 显示全部楼层

    南小鸟 发表于 2016-12-19 18:31

    你给权限的是runbackup.sh,但是运行的却是backup.sh

    chmod +x backup.sh 给过了
    回复

    使用道具 举报

    18

    主题

    76

    回帖

    218

    积分

    中级会员

    积分
    218
     楼主| 发表于 2016-12-19 18:31:41 | 显示全部楼层
    @Vicer
    来帮我看看啊
    回复

    使用道具 举报

    127

    主题

    1240

    回帖

    2875

    积分

    金牌会员

    积分
    2875
    发表于 2016-12-19 18:43:53 | 显示全部楼层
    没把完整的错误信息贴出来,让别人怎么帮你找问题?
    你的backup.sh在/root下面,然而/lnmp1.3/tools/找不到是必然的。
    回复

    使用道具 举报

    0

    主题

    1

    回帖

    4

    积分

    新手上路

    积分
    4
    发表于 2016-12-19 18:31:00 | 显示全部楼层

    leoynx 发表于 2016-12-19 18:59

    没把完整的错误信息贴出来,让别人怎么帮你找问题?
    你的backup.sh在/root下面,然而/lnmp1.3/tools/找不到 ...


    完整的错误信息放了啊。。。就是这个啊
    [ol]
  • : No such file or directory/lnmp1.3/tools/backup.sh
  • > No such file or directory: /home/backup
  • [/ol]复制代码
    backup.sh就是在/root/lnmp1.3/tools/里啊
    在/root/下的是runbackup.sh
    红猫警长 发表于 2016-12-19 19:04

    完整的错误信息放了啊。。。就是这个啊

    backup.sh就是在/root/lnmp1.3/tools/里啊

    你这错误输出应该不是执行runbackup.sh出来的
    我没里理解错的话,你一条是进行本机备份的,一条是上传的,可能你的backup.sh有问题,所以检查下你的backup.sh,看看有没有 "/lnmp1.3/tools/backup.sh"
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-5-8 01:20 , Processed in 0.018210 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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