这篇文章上次修改于 1070 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

宝塔安装 Node.js 版本管理器,命令行选择你安装的版本

mkdir xxx
cd xxx
npm init
npm i tencentcloud-sdk-nodejs

然后把以下代码复制保存为 js 文件,并替换腾讯密钥

// Depends on tencentcloud-sdk-nodejs version 4.0.3 or higher
const tencentcloud = require("tencentcloud-sdk-nodejs");
 
const LighthouseClient = tencentcloud.lighthouse.v20200324.Client;
 
const clientConfig = {
credential: {
secretId: "更改为账号secretId",
secretKey: "更改为账号secretKey",
},
region: "ap-guangzhou", //服务器当前地域
profile: {
httpProfile: {
endpoint: "lighthouse.tencentcloudapi.com",
},
},
};
 
const client = new LighthouseClient(clientConfig);
 
const chakan = {
"Filters": [
{
"Name": "instance-id",
"Values": [
"更改为实例id"
]
}
]
};
 
client.DescribeSnapshots(chakan).then(
 
(data) => {
 
shanchu_id = data.SnapshotSet[1].SnapshotId //数组的第二个
 
const shanchu = {
"SnapshotIds": [
shanchu_id
]
};
 
client.DeleteSnapshots(shanchu).then(
(data) => {
 
console.log('删除一个旧快照成功');
console.log(data);
 
// 创建快照
 
const chuangjian = {
"InstanceId": "更改为实例id"
};
client.CreateInstanceSnapshot(chuangjian).then(
(data) => {
console.log('创建一个新快照成功');
console.log(data);
},
(err) => {
console.error("error", err);
}
);
 
},
(err) => {
 
console.log('删除一个旧快照失败~~~~必须已有两个快照,才能删除第二个快照并创建新快照');
console.error("error", err);
}
);
 
},
(err) => {
 
console.log('查询旧快照失败');
console.error("error", err);
}
);

 执行 js 文件看是否出错,没出错就去腾讯云后台看看有没有自动创建快照,然后再创建一个定时计划即可。

cd /xxx
node xxx.js >> /xxx.log 2>&1

 

测试成功,结束。

注:

xxx 为任意名字,也可在任意目录建立。

此服务可在任意机器上运行,只要机器联网能安装 nodejs,因为它是通过 api 来实现快照服务的。