在本文中,我將研究如何創建 shell 腳本來運行簡單的 .NET Core 應用程序。之所以有這個研究議題,是因為本站(pzy.io)數據庫需要每天定時備份,并在備份完成后,將備份文件上傳遠程云存儲,保證了數據安全。由于數據庫備份是 shell 腳本執行,而備份文件上傳功能基于 .NET Core 開發,在備份完成后,shell 腳本需要調用 .NET Core 應用程序。
具體操作執行步驟很簡單。
1、創建一個基本的 .NET Core 控制臺應用程序,這個我已經建好了,如下示例:
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.GetServiceIStorageProvider>();
var backup = new MysqlBackQiniu(storageProvider);
var backupPath = configuration.GetValuestring>("BackupPath");
await backup.ExecuteAsync(backupPath);
}
}
2、嘗試編譯項目以查看應用是否創建成功。
3、基于運行的操作系統平臺版本發布。由于我是基于 Ubuntu 18.04 運行,故執行以下命令行進行發布:
dotnet publish -c release -r ubuntu.18.04-x64 --self-contained
4、在 Linux 上創建目錄(假設為: /home/dotnet/test
)。將第 3 點發布生成的文件(在 release 對應平臺的 publish 下)上傳到 /home/dotnet/test
目錄,如果上傳失敗,則設置一下目錄權限為 777。上傳完成后,將該平臺的可執行文件(本站為 Pzy.DbBackup)權限設置為777。
5、創建 shell 腳本文件(假設為 dbbackup.sh
)。創建后,必須通過更改權限使其成為可執行文件,在該文件中寫入以下內容:
#!/bin/sh
cd /home/dotnet/test
./Pzy.DbBackup
這里有一點要注意,一定要到 .NET Core 應用當前目錄下執行 .NET Core 應用,即先通過 cd /home/dotnet/test
定位到當前目錄,再執行應用 ./Pzy.DbBackup
,而不是直接通過 /home/dotnet/test/Pzy.DbBackup
來執行應用,因為這要將引起讀取不到配置文件等問題。
以上就是如何使用 Shell 腳本執行 .NET Core 應用的詳細內容,更多關于Shell 腳本執行應用的資料請關注腳本之家其它相關文章!
您可能感興趣的文章:- 使用PowerShell .Net獲取電腦中的UUID
- PowerShell中使用.NET將程序集加入全局程序集緩存
- Powershell中可以使用的.Net實用靜態方法
- PowerShell入門教程之訪問.Net程序集、COM和WMI實例
- Powershell小技巧之查看安裝的.Net framework版本信息
- PowerShell中調用.NET對象的靜態方法、靜態屬性和類方法、類屬性例子
- PowerShell中查看當前版本、Windows版本、.NET版本信息的代碼
- 一個ASP.Net下的WebShell實例
- PowerShell 定時執行.Net(C#)程序的方法
- ASP.NET下使用WScript.Shell執行命令