Created
January 26, 2018 12:19
-
-
Save shikhir-arora/b7a34e2caf67a8e31ea5cd4f3e0f6421 to your computer and use it in GitHub Desktop.
Updater for Nadeko for those using pm2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
echo "" | |
echo "NadekoBot pm2 Update Started. This will stop Nadeko safely in pm2, update it and restart the bot." | |
sleep 2 | |
if hash git 1>/dev/null 2>&1 | |
then | |
echo "" | |
echo "Git Installed." | |
else | |
echo "" | |
echo "Git is not installed. Please install Git." | |
exit 1 | |
fi | |
if hash dotnet 1>/dev/null 2>&1 | |
then | |
echo "" | |
echo "Dotnet installed." | |
else | |
echo "" | |
echo "Dotnet is not installed. Please install dotnet." | |
exit 1 | |
fi | |
root=$(pwd) | |
tempdir=NadekoInstall_Temp | |
rm -r "$tempdir" 1>/dev/null 2>&1 | |
mkdir "$tempdir" | |
cd "$tempdir" | |
echo "" | |
echo "Stopping Nadeko, please wait." | |
sudo pm2 stop Nadeko | |
sleep .5 | |
echo "" | |
echo "Downloading NadekoBot, please wait." | |
git clone -b 1.9 --recursive --depth 1 https://github.com/Kwoth/NadekoBot.git | |
echo "" | |
echo "NadekoBot downloaded." | |
echo "" | |
echo "Downloading Nadeko dependencies" | |
cd "$root/$tempdir/NadekoBot" | |
dotnet restore | |
echo "" | |
echo "Download done" | |
echo "" | |
echo "Building NadekoBot" | |
dotnet build --configuration Release | |
echo "" | |
echo "Building done. Moving Nadeko" | |
cd "$root" | |
if [ ! -d NadekoBot ] | |
then | |
mv "$tempdir"/NadekoBot NadekoBot | |
else | |
rm -rf NadekoBot_old 1>/dev/null 2>&1 | |
mv -fT NadekoBot NadekoBot_old 1>/dev/null 2>&1 | |
mv "$tempdir"/NadekoBot NadekoBot | |
cp -f "$root/NadekoBot_old/src/NadekoBot/credentials.json" "$root/NadekoBot/src/NadekoBot/credentials.json" 1>/dev/null 2>&1 | |
echo "" | |
echo "credentials.json copied to the new version" | |
cp -RT "$root/NadekoBot_old/src/NadekoBot/bin/" "$root/NadekoBot/src/NadekoBot/bin/" 1>/dev/null 2>&1 | |
cp -RT "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.0/data/NadekoBot.db" "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp2.0/data/NadekoBot.db" 1>/dev/null 2>&1 | |
cp -RT "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.1/data/NadekoBot.db" "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp2.0/data/NadekoBot.db" 1>/dev/null 2>&1 | |
mv -f "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.0/data/NadekoBot.db" "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.0/data/NadekoBot_old.db" 1>/dev/null 2>&1 | |
mv -f "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.1/data/NadekoBot.db" "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.1/data/NadekoBot_old.db" 1>/dev/null 2>&1 | |
echo "" | |
echo "Database copied to the new version" | |
cp -RT "$root/NadekoBot_old/src/NadekoBot/data/" "$root/NadekoBot/src/NadekoBot/data/" 1>/dev/null 2>&1 | |
echo "" | |
echo "Other data copied to the new version" | |
fi | |
rm -r "$tempdir" | |
echo "" | |
echo "Installation Complete." | |
echo "Starting Nadeko back up, please wait." | |
echo "" | |
sleep 1 | |
sudo pm2 start Nadeko | |
echo "" | |
echo "Nadeko update complete and startup finished." | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
To run this:
cd ~ && wget -N https://gist.githubusercontent.com/shikhir-arora/b7a34e2caf67a8e31ea5cd4f3e0f6421/raw/2a9f9c8e29612164d830de3ca5010e85fa54dea6/nadeko-update-pm2.sh && sudo bash nadeko-update-pm2.sh