Shell指令碼應用兩個例子
平時很少寫Shell指令碼,主要是它的語法相比Python要難掌握,但做為非專業運維工程師,拼拼湊湊還是要能寫一點Shell程式碼,在處理檔案相關任務時還是要方便些。
一、資料庫冷備
#!/bin/sh bakFile="/bak/"$(date "+%Y%m%d")"150001.gz" mysqldump -h *.rds.amazonaws.com -u* -p* --databases * | gzip > $bakFile scp -i /bak/EcommerceChinaDev.pem $bakFile ec2-user@ip:/home/ec2-user/bak/
0 15 * * * sh /bak/bakdb.sh
每天定時(UTC時間0點15)將AWS上的RDS dump到一臺離線機器。
二、Java與Vue專案打包釋出
cur_branch=2022_01_25_V8.4 echo $cur_branch echo '開始打包釋出........' cd /mnt/integrate/source_posadm rm -rf /mnt/integrate/source_posadm/blinds_pos_admin/ git clone echo '原始碼下載完成...' cd /mnt/integrate/source_posadm/blinds_pos_admin/ git checkout $cur_branch git branch cnpm install echo 'node依賴模組下載完成' cnpm run test echo 'build完成' cp -rf /mnt/integrate/source_posadm/blinds_pos_admin/test/. /usr/local/posadm ps -ef | grep nginx | awk '{print $2}' | xargs kill -9 /usr/sbin/nginx
注:
1、考慮到專案相對較少,不想去搭建Jenkins這類整合打包環境,就直接寫一個Shell指令碼。
2、在指令碼中寫 rm -rf * 要特別小心,一般要指定刪除目錄的完整路徑,不要先cd到目錄,然後執行rm -rf ,這樣風險很大,極有可能誤刪,記得四年前第一次寫的時候沒注意,一個指令碼執行後把指令碼自己都幹掉了。
這裡建議生產環境機器,最好重新定義一下rm,不要直接刪除,把資料先挪到回收站,在~/.bashrc中加入如下程式碼。
alias rm=trash trash(){ mv $@ ~/.Trash/}alias rl='ls ~/.Trash'alias ur=undelfile undelfile(){ mv -i ~/.Trash/$@ ./}cleartrash(){ read -p "Clear trash>[n]" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.Trash/*
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69989885/viewspace-2857945/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分享兩個實用的shell指令碼指令碼
- Shell指令碼應用(三)指令碼
- 9個實用shell指令碼指令碼
- rman備份的shell指令碼(例子)指令碼
- 【shell 】求兩個檔案相加的指令碼指令碼
- 用於管理應用程式得shell指令碼指令碼
- 【shell 指令碼】兩種登入方式指令碼
- 一個shell 指令碼用來同步表用的指令碼
- Shell指令碼應用 – for、while迴圈語句指令碼While
- shell指令碼中的變數及應用指令碼變數
- shell指令碼——比較兩個檔案大小、許可權指令碼
- Shell指令碼之for迴圈語句的應用指令碼
- shell入門--第一個shell指令碼指令碼
- 資料庫環境中的shell指令碼應用資料庫指令碼
- 用shell指令碼合併多個檔案內容指令碼
- 使用shell指令碼在Linux中管理Java應用程式指令碼LinuxJava
- shell指令碼指令碼
- 幾例實用的Shell指令碼指令碼
- 用Shell指令碼&sqlloader做ETL指令碼SQL
- [Shell] Shell 生成 HTML指令碼HTML指令碼
- 7 個日常實用的 Shell 拿來就用指令碼例項!指令碼
- 一個比較好的shell指令碼指令碼
- 幾個shell自動化指令碼(轉)指令碼
- bash shell指令碼接受多個引數指令碼
- 用shell指令碼來給mysql加索引指令碼MySql索引
- 有點用的linux shell 指令碼Linux指令碼
- shell指令碼(二)指令碼
- shell指令碼心得指令碼
- shell指令碼案例指令碼
- 常用shell指令碼指令碼
- 巧用shell指令碼生成快捷指令碼指令碼
- 建立dblink的兩個指令碼。指令碼
- shell指令碼(6)-shell陣列指令碼陣列
- 兩道shell指令碼的程式設計題(sed與awk)指令碼程式設計
- 共享一個iptables的shell指令碼檔案指令碼
- 寫好shell指令碼的8個建議指令碼
- 向大家分享一個shell指令碼的坑指令碼
- 新增多個使用者的shell指令碼指令碼