想運行一個比較大的任務,須要很強的CPU和內存,本身老筆記本跑不動。在阿里雲上租一個Ubuntu服務器,可是但願任務結束後服務器實例自動刪除,要不半夜時分任務跑完了,次日早上再回收...... 心疼 :)html
作了些嘗試,初步達成目的,記錄以下,有些踩過的坑供借鑑。docker
# local shell export ESC_ID=i-xxxxxxxxx export set ESC_NAME=ali_ecs cat /root/.ssh/id_rsa.pub | ssh root@$ESC_NAME 'mkdir -p .ssh; cat >> .ssh/authorized_keys'
# config for osscmd
# scp /root/.osscredentials root@$ESC_NAME:/root
# config for ossfs
scp /etc/passwd-ossfs root@$ESC_NAME:/etc
# worker shell
scp /root/remoteAction.sh root@$ESC_NAME:/root echo $(hostname) echo ------------------------- ssh root@$ESC_NAME 'chmod +x /root/remoteAction.sh; /root/remoteAction.sh' echo ------------------------- aliyuncli ecs StopInstance --InstanceId $ESC_ID sleep 30 aliyuncli ecs DeleteInstance --InstanceId $ESC_ID sleep 10 aliyuncli ecs DescribeInstanceAttribute --InstanceId $ESC_ID
worker shell. remoteAction.shshell
apt-get update cd /root # --------------------- # install osscmd # wget -O osscmd.zip https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/internal/oss/0.0.4/assets/sdk/OSS_Python_API_20160419.zip?spm=5176.doc32171.2.2.cRTWFj&file=OSS_Python_API_20160419.zip # apt-get -y install unzip # unzip osscmd.zip # rm *.zip # --------------------- # install ossfs wget -O ossfs.deb http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/32196/cn_zh/1481699531936/ossfs_1.80.0_ubuntu14.04_amd64.deb?spm=5176.doc32196.2.1.kxKrKX&file=ossfs_1.80.0_ubuntu14.04_amd64.deb # -y assume yes apt-get -y install gdebi-core # -n --non-interactive gdebi -n ossfs.deb mkdir /mnt/gene ossfs bob-backup /mnt/gene -ourl=http://vpc100-oss-cn-beijing.aliyuncs.com # --------------------- # run my big job # 命令行中 - 做爲參數佔位符。好比下面的命令 b.sh 要讀2個參數,第二個參數 用- 代替,表示內容是 a.sh 的標準輸出。
./a.sh r1.csv r2.csv \
| ./b.sh ref.csv - 2> out.log \
| ./c.sh convert - > out.dat;
除了以上步驟,還有其餘的自動化的方法值得嘗試:ubuntu