Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码

技术分享 宝塔面板30字数 5823阅读模式

甲骨文今天在几天前在选配实列中提供了一个新的选项 VM.Standard.A1.Flex。根据用户协议,可以自由分配 4个OCPU,24 GB 内存,最大200GB空间容量和4GB的带宽。新开出的免费机型配置不可思议地高,令人难以置信。

据了解,该机型仅部分区域可开通。它不占用此前开出的2台免费服务器的配额。但是,因为抢购火爆,所以一机难求。如果你不用个脚本跑一跑估计 很难抢到vps。这篇就用宝塔面板来部署这个玩意,脚本代码来自己群里大佬分享,想知道最新鲜的信息入群。

Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=

如果你还没有甲骨文,可以看之前的申请教程:甲骨文申请

如果觉得这个麻烦,可以看之前的js脚本:Oraclecloud甲骨文 – 免费VPS获取自动脚本代码

或者:甲骨文使用KeymouseGo(按键精灵)刷ARM

201.6.25更新,如何用Terraform升级arm配置。详情见第七步。

2021.6.5更新Oracle甲骨文 ARM VPS自动抢购脚本 – 利用宝塔面板+oci

2021.6.4更新,目前刷脚本已经会收到甲骨文的邮件提醒,可能已经存在了封号的危险。具体入群看,这里贴下邮件的机翻:

展开收缩

Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码

1、安装Terraform

1)Terraform官网:https://www.terraform.io/downloads.html

2)宝塔面板安装Terraform,先下载!

wget https://releases.hashicorp.com/terraform/0.15.4/terraform_0.15.4_linux_amd64.zip

解压,并移动文件terraform到/usr/bin目录

unzip terraform_0.15.4_linux_amd64.zip
mv terraform /usr/bin

查看版本,可以用如下命令

terraform version

如下显示,表示安装成功。

[root@host63c0dcac37 ~]# terraform version
Terraform v0.15.4
on linux_amd64
[root@host63c0dcac37 ~]#

2、安装oci-cli工具

1)安装,一路回车即可,默认安装在/root/bin目录

bash -c "$(curl –L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"

2)当出现“===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n):”这个时候,是在提示你输入y回车,会自动帮你添加环境变量。之后又是一路回车。出现如下提示表示安装成功。可以用:oci -v  来查询版本!!

===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n): y

===> Enter a path to an rc file to update (file will be created if it does not exist) (leave blank to use '/root/.bashrc'): 
-- Backed up '/root/.bashrc' to '/root/.bashrc.backup'
-- Tab completion set up complete.
-- If tab completion is not activated, verify that '/root/.bashrc' is sourced by your shell.
-- 
-- ** Run `exec -l $SHELL` to restart your shell. **
-- 
-- Installation successful.
-- Run the CLI with /root/bin/oci --help
[root@hostf68b156fb8 ~]# oci -v
2.25.0
[root@hostf68b156fb8 ~]# 

3、复制租户和用户的ocid

1)甲骨文后台右上角>>用户设置>>分别点击用户和租户,在信息栏中有我们需要的ID,分别点击复制,可以保存在记事本备份好。具体看图:

Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码

Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码

 

4、配置cli

2)输入如下代码开始配置,配置的路径默认在root目录。

oci setup config

2)具体配置看下面

Enter a location for your config [/root/.oci/config]: 
Enter a user OCID: #输入你的用户ocid
Enter a tenancy OCID: #输入你租户的用户id
Enter a region by index or name(e.g.
1: ap-chiyoda-1, 2: ap-chuncheon-1, 3: ap-hyderabad-1, 4: ap-melbourne-1, 5: ap-mumbai-1,
6: ap-osaka-1, 7: ap-seoul-1, 8: ap-sydney-1, 9: ap-tokyo-1, 10: ca-montreal-1,
11: ca-toronto-1, 12: eu-amsterdam-1, 13: eu-frankfurt-1, 14: eu-zurich-1, 15: me-dubai-1,
16: me-jeddah-1, 17: sa-santiago-1, 18: sa-saopaulo-1, 19: uk-cardiff-1, 20: uk-gov-cardiff-1,
21: uk-gov-london-1, 22: uk-london-1, 23: us-ashburn-1, 24: us-gov-ashburn-1, 25: us-gov-chicago-1,
26: us-gov-phoenix-1, 27: us-langley-1, 28: us-luke-1, 29: us-phoenix-1, 30: us-sanjose-1): 9  #这里选择区域
Do you want to generate a new API Signing RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]: y  #输入y
Enter a directory for your keys to be created [/root/.oci]: 
Enter a name for your key [oci_api_key]: 
Public key written to: /root/.oci/oci_api_key_public.pem
Enter a passphrase for your private key (empty for no passphrase): 
Private key written to: /root/.oci/oci_api_key.pem
Fingerprint: 
Config written to /root/.oci/config


    If you haven't already uploaded your API Signing public key through the
    console, follow the instructions on the page linked below in the section
    'How to upload the public key':

   https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#How2

3)复制生成的公钥,获取命令如下。

cat /root/.oci/oci_api_key_public.pem

4)把展示出来的内容复制下来。并且添加到,甲骨文后台=>用户设置>>资源>>API秘钥>>添加API秘钥,看图:

Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码

5)检查oci配置是否正确

oci iam availability-domain list

如果这样提示表示配置正确,如果不是,检查你前面的配置

[root@host63c0dcac37 ~]# oci iam availability-domain list
{
"data": [
{
"compartment-id": "ocid1.tenancy.oc1..aaaaaaaauoxxxxxxxxxxxxx",
"id": "ocid1.availabilitydomain.oc1..aaaaaaaaaixxxxxxxxxxxxx",
"name": "uffff:AP-TOKYO-1-AD-1"
}
]
}

5、Terraform环境初始化

1)最开始的时候,我们安装好了,Terraform,现在开始初始化代码:

cd /opt/
mkdir terraform-learning && cd terraform-learning
wget https://raw.githubusercontent.com/tmmtoo/TeambitionNET/master/main.tf
terraform init

2)修改脚本中的变量值,因为是宝塔面板,所以只要登录宝塔进入/opt/terraform-learning目录修改main.tf,即可,具体的只要修改几个变量即可,如下:

availability_domain=  #地区 NMOF:AP-TOKYO-1-AD-1
compartment_id=  # 账户租户ID
subnet_id=  # 子网络ID 
ssh_authorized_keys=  # SSH密钥
source_id=  #镜像ID  imageId

注意,脚本中默认是100G的硬盘,如果有需要请自行修改大小!!

3)以上的变量是在你创建实列的时候按下F12,找到instances,在network查询到。如下图,在创建页面,点击创建之后,会有一个instances的请求,查看这个请求的Request Payload,里面会有我们需要用到值:

Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码

4)以上完善后,开始创建任务,用命令:(注意还是在/opt/terraform-learning)

terraform apply 

执行完上面命令之后,会提示输入yes,看图:

Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码

上图还能看到API返回Error Message: Out of host capacity,提示主机容量不足,这个就和我们用鼠标点击的效果是一样的了。下面就用脚本来不停刷新即可。

6、部署

1)到这里总算是可以部署脚本来获取机器了。可以在root目录下新建一个terraform.sh,如下:

文章加密,密码获取,可加tg获取。进群后输入:甲骨文刷arm    即可获得密码!!!

tg订阅:https://t.me/rssbig

tg群:https://t.me/daniaomjj

输入密码查看隐藏内容

6)如果抢到了,会显示如图的提示:

Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码

你也可以登录甲骨文后台查看实列,会看到你心仪的arm已经到手啦!

7)如果用的是screen,当你抢到后,需要删除会话,可以用这个命令。

screen -S PID -X quit

pid,可以用命令screen -ls来查找。举例:

[root@localhost ~]# screen -ls
There are screens on:
        9975.daniao   (Detached)
[root@localhost ~]# screen -X -S 9975 quit
[root@localhost ~]# screen -ls
There is a screen on:
        9975.pts-0.localhost    (Detached)
1 Socket in /var/run/screen/S-root.

7、升级配置

有的时候,我们无法直接获取到4+24配置的机器,所以可以采取迂回的策略,比如你先刷1+6配置的的,这样可能会比较容易。刷到后,我们还可以继续用脚本来升级1+6为4+24或者其他等等。如何升级呢,看教程!!

1)修改main.tf,大概在41行左右,修改配置。

shape_config {
memory_in_gbs = "6"  #这里6G修改为24,或者其他
ocpus = "1"  #这里的1核,修改为4,或者其他。
}

2)修改后,和刷机一样,继续重复刷机的工作即可,这样你就可以完美低配升级为高配。

8、注意

脚本执行之后,会一直调用API创建实例,可以通过甲骨文控制台的限制策略,限制一下资源,以免一直创建,方法如下:

1)登录甲骨文控制台,选择资源,点击限额策略

Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码

2)创建策略名称和说明随意填写,限额策略里面填如下代码

set compute-core quota standard-a1-core-count to 8 in compartment xxx where request.region = ap-tokyo-1

这条策略的意思是,限制我用户xxx,在东京区域,只能创建最多8个cpu的资源,注意,把这里的XXX修改为你的用户名。

3)然后,在限制使用量这里,输入Cores for Standard.A1 based VM and BM Instances查询一下可用数量,如下图就代表限制成功。

Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码

9、最后

抢个甲骨文是真不容易啊,这一大堆的怼下来,估计要头昏了。不过看到VM.Standard.A1.Flex的高配置,这点辛苦也值了。

weinxin
我的微信
微信公众号
关注大鸟博客公众号
 最后更新:2023-1-4
大鸟
评论  30  访客  23  作者  7
    • gg
      gg 0

      看看行不

      • kj1534
        kj1534 1

        大佬,宝塔是必须的吗,我安装oci报错

          • 大鸟
            大鸟

            @ kj1534 宝塔不是必须的,可以加群交流讨论!

            • 自产自销次
              自产自销次 0

              @ kj1534 我也是安装oci查看版本报错

            • kj1534
              kj1534 1

              大佬,你的方法获取的ocid结果有问题。应该是点击右上角的概要,第一行oracle开头的点进去获取user OCID,第二行租户点进去获取tenancy OCID,身份-用户里的两个都是用户而非租户。

                • 大鸟
                  大鸟

                  @ kj1534 额,我看了下,还确实是的,感谢提醒,已经修改!

                • 合理咯
                  合理咯 1

                  Error: Error acquiring the state lock

                  │ Error message: resource temporarily unavailable
                  │ Lock Info:
                  │ ID: a7e13q94-2ae2-9k9e-16a5-
                  │ Path: terraform.tfstate
                  │ Operation: OperationTypeApply
                  │ Who: root@b
                  │ Version: 0.15.4
                  │ Created: 2021-06-02 11:10:01.339499196 +0000 UTC
                  │ Info:


                  │ Terraform acquires a state lock to protect the state from being written
                  │ by multiple users at the same time. Please resolve the issue above and try
                  │ again. For most commands, you can disable locking with the “-lock=false”
                  │ flag, but this is not recommended.

                  大佬 这个怎么解决

                  • zj9495
                    zj9495 0

                    wget https://raw.githubusercontent.com/Jacob-god/Jacob-god.github.io/master/images/main.tf
                    大佬 这个文件404了 下不下来

                      • 大鸟
                        大鸟

                        @ zj9495 已经更新了,默认是100G硬盘!

                      • 唐风月
                        唐风月 3

                        鸟总威武霸气啊

                        • 唐风月
                          唐风月 3

                          子网ID是什么呢

                          • 陆沉
                            陆沉 1

                            请问一下这段代码是设置脚本执行时间的吗?1S等于1秒,,如果不是的话,请问可以设置每次间隔的时间吗?

                              • 大鸟
                                大鸟

                                @ 陆沉 可以自己设置!!

                                  • 陆沉
                                    陆沉 1

                                    @ 大鸟 1S换成10S,,就是10秒一次吗??感谢大佬回复。

                                      • 大鸟
                                        大鸟

                                        @ 陆沉 是这个意思,不过,我隐藏的东西,你就不要贴出来了,如果还有问题,欢迎群里讨论。

                                          • 陆沉
                                            陆沉 1

                                            @ 大鸟 好的好的,谢谢大佬。

                                    • 沙雕网友
                                      沙雕网友 0

                                      大佬,喜欢你这个代码高亮插件。请问哪里可以下载到?

                                      • 文章真心不错
                                        文章真心不错 3

                                        文章真不错,解决了一大难题,因为身边没电脑手机远程服务器抢了半个月,最后还是要用脚本,但是这个加密我是真心弄不了,膜拜一下大佬,在远程的那个服务器长期来着ssh来抢吧,大佬建群是好事,一起探讨经验,但是这样我感觉有一点点不脱,也无可厚非,毕竟大佬辛辛苦苦研究出来的,谢谢大佬

                                          • 文章真心不错
                                            文章真心不错 3

                                            @ 文章真心不错 留条核心命令吧,自动输入yes执行创建给那些不方便访问TG的人一点机会,并不是所有人都有 TG,这样跟大佬脚本不冲突,shell命令如下:
                                            cd /opt/terraform-learning/
                                            echo ‘yes’ | terraform apply

                                              • 大鸟
                                                大鸟

                                                @ 文章真心不错 感谢付出,你可以入qq群,跟我要一下密码就可以了。

                                            • njinji007
                                              njinji007 0

                                              请问下使用Oracle甲骨文 ARM VPS(VM.Standard.A1.Flex)自动抢购脚本代码,,,刷到机器后如何登录。

                                              • zyoo
                                                zyoo 0

                                                安装oci-cli时没有这个===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n): y
                                                oci -v查看报错

                                                  • shiro
                                                    shiro 0

                                                    @ zyoo 好兄弟 你抢到了吗

                                                    • Gla1ve
                                                      Gla1ve 0

                                                      @ zyoo 我也是 显示安装成功,查询失败

                                                    • Era
                                                      Era 0

                                                      ssh_authorized_keys= # SSH密钥
                                                      source_id= #镜像ID imageId
                                                      这两个参数怎么获取?

                                                      • 翠鸟
                                                        翠鸟 0

                                                        大佬,救救孩子吧,试了无数次,到这一步就报错,什么原因啊
                                                        root@DESKTOP-VTIM41O:~# oci iam availability-domain list
                                                        ServiceError:
                                                        {
                                                        “code”: “NotAuthenticated”,
                                                        “message”: “The required information to complete authentication was not provided or was incorrect.. Please visit https://docs.oracle.com/en-us/iaas/Content/API/References/apierrors.htm to learn more about this error code”,
                                                        “opc-request-id”: “4A2A63CF266249BF8D060FEFD1372983/35A6FABC7489B85F26F74CC70300DA71/4C54C3AA85E8BD2002DB8037D5DCF699”,
                                                        “status”: 401
                                                        }

                                                          • yushi
                                                            yushi 1

                                                            @ 翠鸟 同样的问题

                                                              • yushi
                                                                yushi 1

                                                                @ yushi 找到问题所在了。修改配置文件将/root/.oci/oci_api_key.pem改为.oci/oci_api_key.pem

                                                            • 林峯
                                                              林峯 0

                                                              能帮忙看看吗,在这一步不行了 Last login: Thu Jun 2 14:01:18 2022 from localhost
                                                              [root@baota ~]# bash -c “$(curl –L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)”
                                                              % Total % Received % Xferd Average Speed Time Time Time Current
                                                              Dload Upload Total Spent Left Speed
                                                              0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0curl: (6) Could not resolve host: –L; Unknown error
                                                              curl: (7) Failed to connect to ::: Cannot assign requested address
                                                              [root@baota ~]#

                                                            匿名

                                                            发表评论

                                                            匿名网友

                                                            :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

                                                            确定