如何使用 Shell 脚本执行 .NET Core 应用
在本文中,我将研究如何创建shell脚本来运行简单的.NETCore应用程序。之所以有这个研究议题,是因为本站(pzy.io)数据库需要每天定时备份,并在备份完成后,将备份文件上传远程云存储,保证了数据安全。由于数据库备份是shell脚本执行,而备份文件上传功能基于.NETCore开发,在备份完成后,shell脚本需要调用.NETCore应用程序。
具体操作执行步骤很简单。
1、创建一个基本的.NETCore控制台应用程序,这个我已经建好了,如下示例:
classProgram { ////// /// ////// staticasyncTaskMain(string[]args) { varbuilder=newConfigurationBuilder(); builder.AddJsonFile("appsettings.json",false,false); varconfiguration=builder.Build(); varserviceProvider=newServiceCollection() .AddQiniuStorageX(configuration) .BuildServiceProvider(); varstorageProvider=serviceProvider.GetService (); varbackup=newMysqlBackQiniu(storageProvider); varbackupPath=configuration.GetValue ("BackupPath"); awaitbackup.ExecuteAsync(backupPath); } }
2、尝试编译项目以查看应用是否创建成功。
3、基于运行的操作系统平台版本发布。由于我是基于Ubuntu18.04运行,故执行以下命令行进行发布:
dotnetpublish-crelease-rubuntu.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
这里有一点要注意,一定要到.NETCore应用当前目录下执行.NETCore应用,即先通过cd/home/dotnet/test定位到当前目录,再执行应用./Pzy.DbBackup,而不是直接通过/home/dotnet/test/Pzy.DbBackup来执行应用,因为这要将引起读取不到配置文件等问题。
以上就是如何使用Shell脚本执行.NETCore应用的详细内容,更多关于Shell脚本执行应用的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。