logo NodeSeekbeta

serv00免费虚拟主机的续期和网站数据备份

serv00 提供3G硬盘无限流量,就是要保活,登录面板或者ssh/sftp 后延期90天,最近在上面搭建了typecho,就想着续期和备份的问题、

网站数据备份是ssh等上去备份到webdav里去(我用的是alist挂载e5),命令可以执行,但是添加到cron就不行,索性就续期备份一起了,不需要备份的可以注释掉命令执行

apt install expect

有点变量没提取出来,懒得搞了,自己改下把


#!/usr/bin/expect

set timeout 10
set host "s0.serv00.com"
set username "uername"
set password "password"

spawn ssh $username@$host

expect {
    "yes/no" {
        send "yes\r"
        exp_continue
    }

    "Password" {
        send "$password\r"
    }
}
expect {
    "$username@" {
        puts "Logged in to $host as $username"

        # 执行其他命令
        sleep 3
        send "tar -cvzf \"/home/auhaij/typecho-\$(date +%F).tar.gz\" /home/auhaij/domains/auhaij.serv00.net/\r"
        expect "$username@"
	sleep 3
        send "curl -u \"admin:pwd\" -T /home/auhaij/typecho-\$(date +%F).tar.gz -s -w \"%{http_code}\" \"https://host/dav/typecho/\"\r"
        expect "$username@"
	sleep 3
        send "rm /home/auhaij/typecho-\$(date +%F).tar.gz\r"
        expect "$username@"
        sleep 1

        # 退出
        send "exit\r"
    }
    "Permission denied" {
        puts "Login failed. Check your credentials."
        exit 1
    }
}

expect eof

这个是删除过期的备份数据,有需要的自行添加

ex_date=$(date -d "30 days ago" +%F)
ex_filename="typecho-$ex_date.tar.gz"

curl -X DELETE -u "$webdav_username:$webdav_password" -s -o /dev/null -w "%{http_code}" "$webdav_url$ex_filename"

数据库备份,ssh里面dump不下来,没权限,也不想手动去phpadmin里导出,用的是typecho的autoBackup,定时备份,发送邮箱

  • 这种虚拟主机搭博客,感觉不如GitHub搞一搞静态博客

  • @shiyi #1 瞎折腾着玩的

  • ssh登录延期,可以在github里面写一个workflows,然后定时执行一下登录就行了

  • @spatxos #3 好的,学到了 xhj012

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有7820位seeker

🎉欢迎新用户🎉