You can set the timezone using timedatectl
List time zones
timedatectl list-timezones
Set time zone. Replace America/Chicago with your timezone.
timedatectl set-timezone America/Chicago
You can set the timezone using timedatectl
List time zones
timedatectl list-timezones
Set time zone. Replace America/Chicago with your timezone.
timedatectl set-timezone America/Chicago
Replace ens160 with the connection name. “vmcli con show”
sudo nmcli connection mod ens160 ipv4.method auto
Should be able to restart the networking service or reboot the server
Find UUID
blkid
Example output
/dev/xvdb1: UUID="42fbe9a1-eea1-34bc-439d-19a0b48e7df1" TYPE="xfs"
Mount drive using the UUID
[root@host ~]# mount -U 42fbe9a1-eea1-34bc-439d-19a0b48e7df1 /mnt
Add to fstab to automatically mount on system boot up
vi /etc/fstab
Add the following, swap out the UUID for your devices UUID
UUID="42fbe9a1-eea1-34bc-439d-19a0b48e7df1" /backup xfs defaults 0 0
Save and exit. Now when the system reboots it should automatically mount the drive. You should also be able to call “mount -a” to automatically mount everything in fstab.
You can install the default-jre to get the default Java package installed
sudo apt install -y default-jre
Error when trying to ping
ping: socket: Operation not permitted
Looks like it is a permissions issue. To resolve it, find where your ping binary is and change the permissions on it
sudo chmod 4711 /usr/bin/ping
Example:
$ which ping
/usr/bin/ping
$ sudo chmod 4711 /usr/bin/ping
$ ping incredigeek.com
From the server side, edit the /etc/ssh/sshd_config
Change, uncomment, or add
ClientAliveInterval 120
ClientAliveCountMax 15
Change the AliveInterval and CountMax as desired.
More info on the AliveIntercal and CountMax.
ClientAliveCountMax
Sets the number of client alive messages which may be sent without sshd(8) receiving any messages back from the client. If this threshold is reached while client alive messages are being sent, sshd will disconnect the client, terminating the session. It is important to note that the use of client alive messages is very different from TCPKeepAlive
. The client alive messages are sent through the encrypted channel and therefore will not be spoofable. The TCP keepalive option enabled by TCPKeepAlive
is spoofable. The client alive mechanism is valuable when the client or server depend on knowing when a connection has become unresponsive.
The default value is 3. If ClientAliveInterval
is set to 15, and ClientAliveCountMax
is left at the default, unresponsive SSH clients will be disconnected after approximately 45 seconds. Setting a zero
ClientAliveCountMax
disables connection termination.ClientAliveInterval
Sets a timeout interval in seconds after which if no data has been received from the client, sshd(8) will send a message through the encrypted channel to request a response from the client. The default is 0, indicating that these messages will not be sent to the client.
More information
https://man.openbsd.org/sshd_config
You will need an Android Terminal. You can turn on the default one in the developer settings. Need to turn on developer mode?
You will also need to enable root which can also be done in the Developer settings
Open up the terminal app and run
su
rpi3-audio-jack.sh
More info here
Screen is a handy tool that can help you run scripts on servers remotely without having to worry about the session getting terminated. It seems to operate kinda like a virtual console.
Create a new session with a specified name
screen -S SessionName
Example output below. Create session named testsession and print screen sessions.
[bob@localhost imapsync]$ screen -S testsession [bob@localhost imapsync]$ screen -ls There are screens on: 3313.testsession (Attached) 1 Sockets in /var/run/screen/S-bob. [bob@localhost imapsync]$
You can disconnect from a screen session by hitting ctrl + a and then ctrl +d
“ctrl + a” then “ctrl + d”
You can list the screen sessions with
screen -ls
Example
[bob@localhost imapsync]$ screen -ls There are screens on: 3212.testsession (Detached) 2556.xap (Detached) 2 Sockets in /var/run/screen/S-bob. [bob@localhost imapsync]$
You can reconnect to a screen session with
screen -r testsession
To terminate a screen session, connect to that session and then on a clear line hit ctrl + d
Same way as if you were closing a remote ssh connection.
Looks like you can use Darling to run MacOS command line applications in Linux.
You should be able to copy and paste the following in a backup.sh file and then execute from cron. Should work out of the box, but you can change the backup directory and the teams.sh path if needed/wanted.
#!/bin/bash # LibreNMS backup script # Jan 1, 2019 lDate=`date +%Y%m%d-%H%M` # local date + hour minute dDate=`date +%Y%m%d` # todays date # If you have the teams.sh script, you can trigger a backup notification ALERT="/home/admin/teams.sh -b" # Directory to backup to bDir="/backup" bName="librenms_backup" # MySQL settings for tar and sqldump sqlDir="/var/lib/mysql" sqlDB="librenms" sqlUN="root" sqlPW="" LOG="${bDir}/${lDate}-${bName}.log" # Directory that contains data dDir="/opt/librenms" # tar LibreNMS dir # tar SQL dir "the whole thing with the innode files # sql dump of the db for extra redundancy if [ -d ${bDir} ]; then echo "backup dir exist, starting to backup" else echo "backup dir not available. Quiting" exit 1 fi ${ALERT} "Starting backup for ${bName} - `date`" systemctl stop mariadb httpd # LibreNMS data backup tar -zcvf ${bDir}/${lDate}-${bName}.tgz ${dDir} if [ $? -eq 0 ]; then echo "Tar succesfully backed up ${bDir}" else echo "Tar failed while trying to backup ${dDir}" echo " ${lDate} - Tar failed while trying to backup ${dDir}" >> ${LOG} ${ALERT} "${lDate} - Tar failed while trying to backup ${dDir}" fi # MySQL data backup tar -zcvf ${bDir}/${lDate}-${bName}-mysql.tgz ${sqlDir} if [ $? -eq 0 ]; then echo "Tar succesfully backed up ${sqlDir}" else echo "Tar failed while trying to backup ${sqlDir}" echo " ${lDate} - Tar failed while trying to backup ${sqlDir}" >> ${LOG} ${ALERT} "${lDate} - Tar failed while trying to backup ${sqlDir}" fi systemctl start mariadb httpd sleep 5 # SQL dump mysqldump -u ${sqlUN} -p'4rfvBHU8!' ${sqlDB} > ${bDir}/${lDate}-${bName}.sql if [ $? -eq 0 ]; then echo "MySQL DB dumped" else echo "Ran into error while doing sql dump" echo "${lDate} - Ran into error while doing sql dump" >> ${LOG} ${ALERT} "${lDate} - Ran into error while doing sql dump" fi echo "Removing old backups" if ( ls ${bDir} | grep -q ${dDate} );then find ${bDir}/* -prune -mtime +31 -exec rm {} \; else echo "Looks like there are no backup files! Aborting!!!" ${ALERT} "${lDate} - Error: find failed to find any backup files in backup dir. Aborting!!!" fi ${ALERT} "Finished backup for ${bName} - `date`"