All Projects → mountassir → sspender

mountassir / sspender

Licence: GPL-3.0 license
sspender helps you suspend your server (and spindown disks) when idle.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to sspender

nagmapReborn
Nagmap Reborn - Standalone integration with some server monitoring systems providing a user-friendly interface through geographic visualization.
Stars: ✭ 19 (-9.52%)
Mutual labels:  server-monitoring
beerplop
Repository for the incremental game Beerplop
Stars: ✭ 17 (-19.05%)
Mutual labels:  idle
DARTS
Differentiable architecture search for convolutional and recurrent networks
Stars: ✭ 59 (+180.95%)
Mutual labels:  nas
MixPath
MixPath: A Unified Approach for One-shot Neural Architecture Search
Stars: ✭ 29 (+38.1%)
Mutual labels:  nas
qnapdisplay
Qnap lcd python module, features both writing to the display as wel as reading keypresses from the panel keys. It was developed on a Qnap TS-459 and a TS-453A, it works on some other models as well.
Stars: ✭ 37 (+76.19%)
Mutual labels:  nas
android-suspend-dialogs
A helper library for Android to display Dialogs by suspending the coroutine till finish of the dialog.
Stars: ✭ 32 (+52.38%)
Mutual labels:  suspend
LANraragi cn
This repo is a fork of Difegue / LANraragi , those things i've done was to translate this repo into chinese ,and fix chrome browser js problem.
Stars: ✭ 147 (+600%)
Mutual labels:  nas
SilentETHMiner
A Silent (Hidden) Ethereum (ETH & ETC) Miner Builder
Stars: ✭ 219 (+942.86%)
Mutual labels:  idle
clrprint
Print colorful output in the terminal, idle, cmd, and Windows PowerShell using the same functions.
Stars: ✭ 22 (+4.76%)
Mutual labels:  idle
idlejs
Execute stuff when user is idle or interactive
Stars: ✭ 35 (+66.67%)
Mutual labels:  idle
synology
My Synology automation scripts. Making Synology NAS command line usable
Stars: ✭ 45 (+114.29%)
Mutual labels:  nas
NAS-Nav-iCloud
NAS-Nav导航仿iCloud风格
Stars: ✭ 25 (+19.05%)
Mutual labels:  nas
rpi-nas
🌐👨‍💻💻 Setup your own NAS on a Raspberry Pi
Stars: ✭ 29 (+38.1%)
Mutual labels:  nas
Steam-Games-Idle
❤️ Node.js based script for steam game idling / hour boosting for chosen game without using computer resources. Built by @Refloow
Stars: ✭ 46 (+119.05%)
Mutual labels:  idle
awesome-storage
A curated list of storage open source tools. Backups, redundancy, sharing, distribution, encryption, etc.
Stars: ✭ 324 (+1442.86%)
Mutual labels:  nas
Movie Data Capture
Local Movies Organizer
Stars: ✭ 5,481 (+26000%)
Mutual labels:  nas
CM-NAS
CM-NAS: Cross-Modality Neural Architecture Search for Visible-Infrared Person Re-Identification (ICCV2021)
Stars: ✭ 39 (+85.71%)
Mutual labels:  nas
wordops-dashboard
Dashboard for WordOps backend
Stars: ✭ 35 (+66.67%)
Mutual labels:  server-monitoring
Neural-Architecture-Search
This repo is about NAS
Stars: ✭ 26 (+23.81%)
Mutual labels:  nas
SilentCryptoMiner
A Silent (Hidden) Free Crypto Miner Builder - Supports ETH, ETC, XMR and many more.
Stars: ✭ 547 (+2504.76%)
Mutual labels:  idle

What is sspender?

sspender allows you to suspend your server when it is not being used, it also allows you to spin down any disks that are not active.

It supports the following conditions before suspending the server:

  • User defined usage of the CPU.
  • User defined usage of some, or all disks (useful to avoid interrupting scheduled backups and other tasks).
  • Whether another server is online (useful if another machine requires your server to stay ON).

I also allows you to:

  • Decide how the server should be suspended, standby (ACPI S1), to memory (ACPI S3) or to disk (ACPI S4).
  • Define what usage is considered "idle" for both CPU and disks.
  • Define a time when the server should weake up after it has been suspended (useful if you require your server to be ON at ceartain times).
  • Define what drives you want to spin down if they are idle.
  • Run some tasks when the server recovers from suspend (not yet implemented).
  • Monitor network interfaces usage (not yet implemented).

Running environment:

This has been developed and used under Ubuntu, I have not tested it in any other systems.

Dependencies:

libconfig++-dev

libconfig is required during the build of sspender, as well as during execution in order to decode sspender.cfg.

$ apt install libconfig++-dev

rtcwake

rtcwake is required to suspend the machine, this is the default way.

$ apt install rtcwake

hdparm

hdparm is required to spin down the drives, only required if you have spindown option enabled in sspender.cfg.

$ apt install hdparm

Building from Source:

Configuring with CMake

Compile and install sspender in /usr/local/bin

$ cd sspender
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

Usage:

Download the executable from the latest release or compile your own from the source code in the folder "src", update the config file sspender.cfg and run the executable.

As sspender relies on hdparm and rtcwake to spin down the drives and suspend the machine, sspender needs to be executed as root. You can run it as a normal user and it will still monitor all the devices, but it won't be able to spin down the drives or suspend the machine.

$ sudo sspender sspender.cfg

To direct logs to /var/log/sspender.log

$ sudo sspender sspender.cfg > /var/log/sspender.log 2>&1 &

Limitations:

  • As explained above, this has only been used under Ubuntu so far, it might fail to work as expected under different environments, if you find any issues with your set-up please open an issue and I will have a look.
  • I had some issues with pm-utils failing to suspend certain machines before and I have since switched to using rtcwake. The code to use pm-utils is still there and I plan on adding an option in sspender.cfg so that users can use both, in case one fails on their machines.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].