如何使用 Shell 腳本執(zhí)行 .NET Core 應(yīng)用
在本文中,我將研究如何創(chuàng)建 shell 腳本來運行簡單的 .NET Core 應(yīng)用程序。之所以有這個研究議題,是因為本站(pzy.io)數(shù)據(jù)庫需要每天定時備份,并在備份完成后,將備份文件上傳遠程云存儲,保證了數(shù)據(jù)安全。由于數(shù)據(jù)庫備份是 shell 腳本執(zhí)行,而備份文件上傳功能基于 .NET Core 開發(fā),在備份完成后,shell 腳本需要調(diào)用 .NET Core 應(yīng)用程序。
具體操作執(zhí)行步驟很簡單。
1、創(chuàng)建一個基本的 .NET Core 控制臺應(yīng)用程序,這個我已經(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、嘗試編譯項目以查看應(yīng)用是否創(chuàng)建成功。
3、基于運行的操作系統(tǒng)平臺版本發(fā)布。由于我是基于 Ubuntu 18.04 運行,故執(zhí)行以下命令行進行發(fā)布:
dotnet publish -c release -r ubuntu.18.04-x64 --self-contained
4、在 Linux 上創(chuàng)建目錄(假設(shè)為: /home/dotnet/test )。將第 3 點發(fā)布生成的文件(在 release 對應(yīng)平臺的 publish 下)上傳到 /home/dotnet/test 目錄,如果上傳失敗,則設(shè)置一下目錄權(quán)限為 777。上傳完成后,將該平臺的可執(zhí)行文件(本站為 Pzy.DbBackup)權(quán)限設(shè)置為777。
5、創(chuàng)建 shell 腳本文件(假設(shè)為 dbbackup.sh )。創(chuàng)建后,必須通過更改權(quán)限使其成為可執(zhí)行文件,在該文件中寫入以下內(nèi)容:
#!/bin/sh cd /home/dotnet/test ./Pzy.DbBackup
這里有一點要注意,一定要到 .NET Core 應(yīng)用當前目錄下執(zhí)行 .NET Core 應(yīng)用,即先通過 cd /home/dotnet/test 定位到當前目錄,再執(zhí)行應(yīng)用 ./Pzy.DbBackup ,而不是直接通過 /home/dotnet/test/Pzy.DbBackup 來執(zhí)行應(yīng)用,因為這要將引起讀取不到配置文件等問題。
以上就是如何使用 Shell 腳本執(zhí)行 .NET Core 應(yīng)用的詳細內(nèi)容,更多關(guān)于Shell 腳本執(zhí)行應(yīng)用的資料請關(guān)注腳本之家其它相關(guān)文章!

