3 Effective Methods to Reboot a Linux Server from the Command Line

Written by

Reviewed by

Last updated: July 10, 2023

Expert verified

SVG Image

TL;DR

To reboot a Linux server, you can try these three methods:

  1. Reboot a Linux server immediately using the sudo reboot command.
  2. Reboot the server with options such as scheduling a reboot or specifying a delay using the sudo shutdown -r now command.
  3. Reboot a Linux server when it is unresponsive using the Alt + SysRq + r + e + i + s + u + b key sequence.

Learn how to schedule reboots for your Linux server using cron jobs, ensuring regular maintenance and stability. Follow best practices by taking regular backups, keeping your system up to date, and checking service dependencies. Avoid common errors such as failed file system unmounting, unresponsive services, and kernel panics by following the recommended troubleshooting steps.

Explore three different methods to reboot a Linux server in the guide below. Also, learn how to do scheduled reboots, best practices to follow, and common errors that can occur during the process.

Rebooting a Linux server may seem like a simple task, but its significance goes far beyond just a system restart. It serves as a vital maintenance procedure that keeps your server running smoothly and optimally. From resolving software glitches and memory leaks to freeing up system resources and improving overall performance, rebooting a Linux server is the secret sauce to maintaining a stable and high-performing server environment. In this comprehensive guide, I will explore different methods to reboot a Linux server, how to do scheduled reboots, best practices to follow, and common errors that can occur during the process.

How to Reboot a Linux Server

To reboot a Linux server from the command line, you have three methods at your disposal. The reboot command offers a quick and immediate reboot, while the shutdown command provides more control and scheduling options. If your server becomes unresponsive, you can use SysRq Magic Keys to trigger a reboot after switching to raw mode, sending signals, syncing file systems, and remounting them.

1. reboot Command

The reboot command is a simple and straightforward way to reboot a Linux server. It is best used when you need to initiate a quick and immediate reboot of the server. Follow these steps:

  1. Open the command line interface.
opening terminal 9
  1. Execute the following command: 
<strong>sudo reboot</strong>
  1. This command requires root privileges, so it may prompt you for the root password. After entering the password, the server will initiate a reboot process.
rebooting linux server

2. shutdown Command

The shutdown command provides more control over the reboot process. It is best used when you want to schedule a reboot or when you require additional options for shutting down and restarting the server. Follow these steps:

  1. Enter your Terminal window and execute the following command: 
<strong>sudo shutdown -r now</strong>
  1. The -r option indicates a reboot. The now keyword specifies an immediate reboot. Enter the root password if prompted.
  2. The server will begin the shutdown process, followed by a reboot.
immediately shutting down rebooting linux server

3. SysRq Magic Keys

Leveraging SysRq Magic Keys is used when your Linux server becomes unresponsive, and traditional reboot methods do not work. This method allows you to switch the keyboard to raw mode, send signals to processes, sync file systems, and remount them in read-only mode before triggering the reboot. Follow these steps:

  1. Press and hold the Alt and SysRq (Print Screen) keys simultaneously.
press and hold the keys
  1. While holding those keys, enter the following key sequence: r → e → i → s → u → b.
  2. Each key corresponds to a specific action:
    • r: Switch the keyboard to raw mode.
    • e: Send a SIGTERM signal to all processes except init.
    • i: Send a SIGKILL signal to all processes except init.
    • s: Sync all mounted file systems.
    • u: Remount file systems in read-only mode.
    • b: Reboot the system.
  3. Release the keys, and the server will initiate a reboot.
pressing keys in a sequence

How to Do Scheduled Reboots of Linux Server

Scheduled reboots are best used to maintain server stability and performance by regularly restarting the system. By using cron jobs, you can automate the process of scheduling reboots at specific times. Follow these steps to create a scheduled reboot task using cron jobs:

  1. Launch your command window.
  2. Execute the command: 
<strong>crontab -e</strong>
  1. The command will open the crontab configuration file.
opening crontab configuration file
  1. In the crontab file, add a new line with the following syntax to schedule a reboot at a specific time. For example, to reboot the server every Sunday at 3 AM, add the line:
<strong>0 3 * * 0 sudo reboot</strong>
  1. This line represents the minute, hour, day of the month, month, and day of the week, respectively.
  2. Save the file and exit. The server will automatically reboot according to the defined schedule.
scheduling a reboot time in ubuntu

3 Best Practices for Server Rebooting

When it comes to reboot a Linux server, following best practices ensures a smooth and successful process while minimizing potential issues. By adhering to these best practices, you can mitigate potential risks, maintain system stability, and optimize the server reboot process for your Linux server environment. Here are three best practices to follow:

  • 🔒 Take Regular Backups: Before initiating a server reboot, it’s crucial to take regular backups of your important data and configurations. Backups serve as a safety net in case any unexpected issues arise during or after the reboot. Implementing a reliable backup strategy, whether through automated tools or manual processes, helps protect against data loss and ensures you can restore your system to a known working state if needed.
  • 🔄 Keep Your System Up to Date: Maintaining an updated system is vital for optimal performance and security. Before rebooting, ensure that your Linux server is up to date with the latest patches, security updates, and bug fixes. Regularly installing system updates helps address known vulnerabilities, enhances stability, and ensures compatibility with the latest software and hardware. Consider using package managers or automated update tools to streamline the update process and keep your server in peak condition.
  • 🔎 Check Service Dependencies: Identifying and understanding the dependencies between services running on your server is crucial to avoid disruptions during the reboot process. Take the time to analyze which services rely on each other and ensure they gracefully stop and start in the correct order. Examining service dependencies helps prevent potential conflicts, ensures proper shutdown and startup sequences, and minimizes the risk of service failures or data inconsistencies when rebooting a Linux server.

3 Common Errors When Rebooting a Linux Server

Rebooting a Linux server is a crucial task, but it can sometimes encounter errors that may disrupt the process. Understanding these common errors and their solutions can help ensure a successful server reboot. Here are three frequent errors that you may encounter while rebooting a Linux server:

  • ⚠️ “Failed to Unmount File System” error: When rebooting a Linux server, you may come across the error message “Failed to unmount file system.” This error occurs when a file system is still in use or has open files during the reboot process. It can prevent the server from shutting down properly and may lead to data corruption. To resolve this issue, you can manually identify and close any open files or processes associated with the affected file system before initiating the reboot.
  • ⛔️ “Service Not Responding” error: Another common error during a server reboot is encountering a non-responsive service. This error typically occurs when a service fails to stop gracefully within the given time frame. It may result in a prolonged reboot process or even prevent the server from restarting. To address this issue, you can forcibly terminate the unresponsive service using commands like kill or systemctl. Additionally, ensure that your services are properly configured to handle graceful shutdowns during reboots.
  • 💥“Kernel Panic” error: A kernel panic is a critical error that can occur during the reboot process, indicating an unrecoverable issue with the Linux kernel. It often leads to a complete system freeze or a reboot loop. Kernel panics can be caused by various factors, including hardware failures, incompatible drivers, or system misconfigurations. Resolving a kernel panic requires in-depth troubleshooting, such as analyzing system logs, checking hardware compatibility, and ensuring the system is up to date with the latest patches and drivers. Seeking assistance from experienced system administrators or consulting online resources can be beneficial in resolving this error.

In Conclusion

In this article, I have explored various methods to reboot a Linux server, including using commands such as reboot and shutdown, as well as leveraging SysRq Magic Keys. While rebooting, it’s important to be aware of common errors like failed file system unmounting, non-responsive services, and kernel panics. To ensure a smooth reboot process, I recommend following best practices such as taking regular backups, keeping your system up to date, and checking service dependencies.

To further enhance your server administration skills, I recommend exploring related articles such as Server Monitoring and Performance Optimization, Troubleshooting Server Errors and Log Analysis, and Server Security Best Practices. These resources will expand your understanding of server management, troubleshooting techniques, and system optimization, empowering you to become a proficient Linux server administrator. 

Frequently Asked Questions

Will rebooting my server affect the running applications and services?

Yes, rebooting a Linux server will interrupt running applications and services. When a server is rebooted, all processes and services are stopped and then restarted as part of the reboot process. This interruption can lead to temporary unavailability or loss of unsaved data in active applications. To minimize the impact, it is important to gracefully stop services before initiating a reboot. This allows them to shut down properly, ensuring that any pending tasks are completed or saved. Additionally, notifying users in advance about the reboot helps them prepare, save their work, and avoid any unexpected disruptions.

How often should I reboot my Linux server for optimal performance?

The frequency of reboots for optimal server performance depends on various factors, such as the nature of the workload, system stability, and resource usage patterns. While Linux servers are known for their ability to run for extended periods without requiring reboots, periodic reboots can help maintain system stability and ensure optimal performance. It is recommended to schedule regular reboots based on your specific requirements. This can be daily, weekly, or monthly, depending on the workload and the need for applying system updates or resolving memory leaks. Monitoring server performance and conducting regular maintenance can help determine the ideal reboot frequency for your Linux server.

Is it necessary to notify users before rebooting a server?

Yes, it is essential to notify users before rebooting a Linux server to minimize potential data loss or interruptions. Notifying users in advance allows them to save work, close applications gracefully, and prepare for the upcoming reboot. This is particularly important for servers hosting critical services or applications where unexpected interruptions can have significant consequences. Providing clear communication about the scheduled reboot enables users to plan their activities accordingly and make necessary arrangements. By notifying users in advance, you can mitigate the risk of data loss, minimize user frustration, and ensure a smoother transition during the server reboot process.

Ojash

Author

Ojash is a skilled Linux expert and tech writer with over a decade of experience. He has extensive knowledge of Linux's file system, command-line interface, and software installations. Ojash is also an expert in shell scripting and automation, with experience in Bash, Python, and Perl. He has published numerous articles on Linux in various online publications, making him a valuable resource for both seasoned Linux users and beginners. Ojash is also an active member of the Linux community and participates in Linux forums.

Akshat

Reviewer

Akshat is a software engineer, product designer and the co-founder of Scrutify. He's an experienced Linux professional and the senior editor of this blog. He is also an open-source contributor to many projects on Github and has written several technical guides on Linux. Apart from that, he’s also actively sharing his ideas and tutorials on Medium and Attirer. As the editor of this blog, Akshat brings his wealth of knowledge and experience to provide readers with valuable insights and advice on a wide range of Linux-related topics.

Share this article
Shareable URL
Prev Post

How to Check Crontab Logs in Linux [2 Effective Methods]

Next Post

How to Install FFmpeg Ubuntu [2 Best Methods]

Leave a Reply

Your email address will not be published. Required fields are marked *

Read next