DEV Community

Cover image for Automate Backup database SQL Server in docker container.
Pobx
Pobx

Posted on

4

Automate Backup database SQL Server in docker container.

Hi, everyone. This is first my post in dev.to and my first time for write article in second language. today I want to share some trick for backup your database from docker container. let's begin... 😊
Note I assume your already running container.

1. Write T-SQL for backup your database.

For example I use TutorialDB database for demonstrate purpose. Your can create same database click Create a database



PRINT "Start Backup process...";
DECLARE @MyFileName varchar(200)
SELECT @MyFileName=N'/tmp/Backup_' + convert(nvarchar(20),GetDate(),112)+'_'+convert(nvarchar(20),GetDate(),108)+ '.bak'
BACKUP DATABASE [TutorialDB] TO DISK=@MyFileName
PRINT "Finished backup process...";


Enter fullscreen mode Exit fullscreen mode

Then save above T-SQL to backup-database.sql

2. Copy backup-database.sql file to your container.

For example I just copy it to tmp directory. You can copy it to any your directory.
image
Then go inside container and see in tmp directory as below
image

3. Update packages list to new version.

Go inside your container by docker exec cli as below
image
Note You need to use --user root (option) for update package list.
Now, update package list by apt-get update -y as below
image
Then you will installing 2 package such as vim and cron as below
image
image

4. Add sqlcmd cli to crontab by cron -e cli as below

image
For example above configuration is running backup-database.sql every 1 minute. Keep in mind it's just example for show how it work. Next you want to restart crontab for start your schedule job like this
image

5. see log by tail -f /tmp/daily-backup.log & .bak files.

image
image

Until we meet again. Thank you πŸš€ πŸš€ πŸš€

Tiugo image

Modular, Fast, and Built for Developers

CKEditor 5 gives you full control over your editing experience. A modular architecture means you get high performance, fewer re-renders and a setup that scales with your needs.

Start now

Top comments (1)

Collapse
 
bota87 profile image
bota87 β€’

I think the cron installation and other operations you do inside the container are lost on the first reboot. I'm wrong?

πŸ‘‹ Kindness is contagious

Explore a trove of insights in this engaging article, celebrated within our welcoming DEV Community. Developers from every background are invited to join and enhance our shared wisdom.

A genuine "thank you" can truly uplift someone’s day. Feel free to express your gratitude in the comments below!

On DEV, our collective exchange of knowledge lightens the road ahead and strengthens our community bonds. Found something valuable here? A small thank you to the author can make a big difference.

Okay