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 好的,学到了