如何使用 Shell 腳本執(zhí)行 .NET Core 應(yīng)用
在本文中,我將研究如何創(chuàng)建 shell 腳本來(lái)運(yùn)行簡(jiǎn)單的 .NET Core 應(yīng)用程序。之所以有這個(gè)研究議題,是因?yàn)楸菊荆╬zy.io)數(shù)據(jù)庫(kù)需要每天定時(shí)備份,并在備份完成后,將備份文件上傳遠(yuǎn)程云存儲(chǔ),保證了數(shù)據(jù)安全。由于數(shù)據(jù)庫(kù)備份是 shell 腳本執(zhí)行,而備份文件上傳功能基于 .NET Core 開(kāi)發(fā),在備份完成后,shell 腳本需要調(diào)用 .NET Core 應(yīng)用程序。
具體操作執(zhí)行步驟很簡(jiǎn)單。
1、創(chuàng)建一個(gè)基本的 .NET Core 控制臺(tái)應(yīng)用程序,這個(gè)我已經(jīng)建好了,如下示例:
class Program { /// <summary> /// /// </summary> /// <param name="args"></param> /// <returns></returns> static async Task Main(string[] args) { var builder = new ConfigurationBuilder(); builder.AddJsonFile("appsettings.json", false, false); var configuration = builder.Build(); var serviceProvider = new ServiceCollection() .AddQiniuStorageX(configuration) .BuildServiceProvider(); var storageProvider = serviceProvider.GetService<IStorageProvider>(); var backup = new MysqlBackQiniu(storageProvider); var backupPath = configuration.GetValue<string>("BackupPath"); await backup.ExecuteAsync(backupPath); } }
2、嘗試編譯項(xiàng)目以查看應(yīng)用是否創(chuàng)建成功。
3、基于運(yùn)行的操作系統(tǒng)平臺(tái)版本發(fā)布。由于我是基于 Ubuntu 18.04 運(yùn)行,故執(zhí)行以下命令行進(jìn)行發(fā)布:
dotnet publish -c release -r ubuntu.18.04-x64 --self-contained
4、在 Linux 上創(chuàng)建目錄(假設(shè)為: /home/dotnet/test
)。將第 3 點(diǎn)發(fā)布生成的文件(在 release 對(duì)應(yīng)平臺(tái)的 publish 下)上傳到 /home/dotnet/test
目錄,如果上傳失敗,則設(shè)置一下目錄權(quán)限為 777。上傳完成后,將該平臺(tái)的可執(zhí)行文件(本站為 Pzy.DbBackup)權(quán)限設(shè)置為777。
5、創(chuàng)建 shell 腳本文件(假設(shè)為 dbbackup.sh
)。創(chuàng)建后,必須通過(guò)更改權(quán)限使其成為可執(zhí)行文件,在該文件中寫(xiě)入以下內(nèi)容:
#!/bin/sh cd /home/dotnet/test ./Pzy.DbBackup
這里有一點(diǎn)要注意,一定要到 .NET Core 應(yīng)用當(dāng)前目錄下執(zhí)行 .NET Core 應(yīng)用,即先通過(guò) cd /home/dotnet/test
定位到當(dāng)前目錄,再執(zhí)行應(yīng)用 ./Pzy.DbBackup
,而不是直接通過(guò) /home/dotnet/test/Pzy.DbBackup
來(lái)執(zhí)行應(yīng)用,因?yàn)檫@要將引起讀取不到配置文件等問(wèn)題。
以上就是如何使用 Shell 腳本執(zhí)行 .NET Core 應(yīng)用的詳細(xì)內(nèi)容,更多關(guān)于Shell 腳本執(zhí)行應(yīng)用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux中的host命令應(yīng)用實(shí)例詳解
這篇文章主要介紹了Linux中的host命令應(yīng)用舉例的相關(guān)資料,需要的朋友可以參考下2017-07-07詳解Linux查找目錄下的按時(shí)間過(guò)濾的文件
這篇文章主要介紹了Linux查找目錄下的按時(shí)間過(guò)濾的文件 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05linux獲取系統(tǒng)啟動(dòng)時(shí)間示例詳解
這篇文章主要介紹了linux獲取系統(tǒng)啟動(dòng)時(shí)間的示例,需要的朋友可以參考下2014-02-02Shell創(chuàng)建用戶并生成隨機(jī)密碼腳本分享
這篇文章主要介紹了Shell創(chuàng)建用戶并生成隨機(jī)密碼腳本分享,本文生成的隨機(jī)密碼會(huì)比較復(fù)雜和實(shí)用,需要的朋友可以參考下2014-12-12