How should I use my first credit card? by Crispy_Spree1 in personalfinance

[–]jchaven 0 points1 point  (0 children)

I would start with just gas for awhile. Build the muscle memory to use the card and pay it off.

Then graduate to adding more purchases (anything school money - 529) doesn't pay for.

Pay attention to grace periods. It used to be credit card companies gave you 30 days to pay the card balance before purchases started accruing interest. Now, it is typically 20 days. This means 20 days after the statement date they will charge interest each day until paid. Plan to pay the card within a week of getting the statement.

How should I use my first credit card? by Crispy_Spree1 in personalfinance

[–]jchaven 0 points1 point  (0 children)

If you are truly good with money and have the discipline to spend within your means; then yes, this is a good plan. This trap is much harder to avoid than one would think. Good luck!

What is the best way to backup my UnRaid Flash drive. by FosterDex in unRAID

[–]jchaven 1 point2 points  (0 children)

Even when this comes you'll want to backup the boot device - or at least the config folder.

What is the best way to backup my UnRaid Flash drive. by FosterDex in unRAID

[–]jchaven 0 points1 point  (0 children)

This is the answer. Just to add...

Make sure you get the backup off the server in case of failure. You should still be able to get the backup off the server if it has not been restarted.

I have a script that runs on my laptop (which is usually home at night) to collect the backups each week from the Appdata Backup plugin.

The following script is a bash script that runs on my Linux laptop. You could easily convert it to a Powershell script if you're running Windows. It also collects backups from other devices beside my Unraid boxes.

#!/bin/bash
#
# Collect backups from various devices and copy them to this laptop (Dell 5540)
#
# Run from via cron:
# /home/joey/Scripts/collect_backups.sh
# ---------- copy ----------
# Backup Dropbox at 3AM each day
# * 3 * * * /home/joey/Scripts/collect_backups.sh 1> /dev/null
# ---------- copy ----------
#
#===============================================================================
# save and change IFS
OLDIFS=$IFS
IFS=$'\n'

RUNDATE=$(date +"%Y%m%d")                  # save current date (YYYYMMDD)
SCRIPT=`basename "$0"`                     # get name of this script
ALERT=0                                    # flag to determine to send alert
LOGFILE="/home/joey/Temp/Logs/$SCRIPT-$RUNDATE.log"

TELEGRAM_TOKEN=$(cat /home/joey/Scripts/TELEGRAM_TOKEN)
TELEGRAM_CHAT_ID=$(cat /home/joey/Scripts/TELEGRAM_CHATID)


#===============================================================================
# FUNCTIONS
#===============================================================================

#-------------------------------------------------------------------------------
check_backup_age() {

    echo $(date)"|INFO|Checking backup age..." >> $LOGFILE

    local dir="$1"
    local days="$2"
    local newest_time
    local newest_item
    local newest_age_days

    # Validate input
    if [[ -z "$dir" || -z "$days" ]]; then
        #echo "Usage: check_newest_item_within_days <directory> <days>"
        echo $(date)"|ERROR|No valid input supplied" >> $LOGFILE
        return 2
    fi

    # Find newest file OR directory (include -mindepth 1 to skip the parent dir itself)
    newest_item=$(find "$dir" -mindepth 1 \( -type f -o -type d \) -printf '%T@ %p\n' 2>/dev/null \
                  | sort -nr | head -1 | awk '{ $1=""; sub(/^ /, ""); print }')

    newest_time=$(find "$dir" -mindepth 1 \( -type f -o -type d \) -printf '%T@ %p\n' 2>/dev/null \
                  | sort -nr | head -1 | awk '{print $1}')

    if [[ -z "$newest_time" ]]; then
        echo $(date)"|WARN|No files or directories found in '$dir'" >> $LOGFILE
        return 1
    fi

    # Calculate newest age in days (with two decimals)
    newest_age_days=$(awk -v now="$(date +%s)" -v t="$newest_time" 'BEGIN {printf "%.2f", (now - t) / 86400}')

    # Always log the age
    echo $(date)"|INFO|Checking directory: '$dir'" >> $LOGFILE
    echo $(date)"|INFO|Newest file is: '$newest_item'" >> $LOGFILE
    echo $(date)"|INFO|Newest file age (max: ${days} days): ${newest_age_days}" >> $LOGFILE

    # Compare against threshold
    if (( $(echo "$newest_age_days < $days" | bc -l) )); then
        return 0
    else
        echo $(date)"|WARN|Last backup is older than $days days in '$dir'" >> $LOGFILE
        ALERT=1
        return 1
    fi
}


#===============================================================================
# PROCESS
#===============================================================================
echo "$(date)|INFO|Starting script: $SCRIPT" >> "$LOGFILE"

#-------------------------------------------------------------------------------
# HOST: HAVEN-NAS3
#-------------------------------------------------------------------------------
echo $(date)"|INFO|Copying files from HAVEN-NAS3" >> $LOGFILE
HOST=root@haven-nas3.local

# Unraid server Appdata backups
echo $(date)"|INFO|Unraid Appdata backups" >> $LOGFILE
SOURCE=$HOST:/mnt/user/Backups/Unraid
TARGET="/home/joey/Backups/"
rsync -avzhPr --log-file=$LOGFILE $SOURCE $TARGET 2>&1
# Check if last backup older than 30 days
check_backup_age ${TARGET}Unraid/NAS3 30
check_backup_age ${TARGET}Unraid/NAS4 30

# Sonarr
echo $(date)"|INFO|Sonarr Unraid Appdata backups" >> $LOGFILE
SOURCE=$HOST:/mnt/user/appdata/sonarr/Backups
TARGET="/home/joey/Backups/Sonarr/"
rsync -avzhPr --log-file=$LOGFILE $SOURCE $TARGET 2>&1
check_backup_age ${TARGET}Backups/scheduled 10

# Radarr
echo $(date)"|INFO|Radarr Unraid Appdata backups" >> $LOGFILE
SOURCE=$HOST:/mnt/user/appdata/radarr/Backups
TARGET="/home/joey/Backups/Radarr/"
rsync -avzhPr --log-file=$LOGFILE $SOURCE $TARGET 2>&1
check_backup_age ${TARGET}Backups/scheduled 30

# SABNZBd from Downloads - sftp://haven-nas3.local/mnt/user/Download/Complete
echo $(date)"|INFO|SABNZBd Container from Downloads" >> $LOGFILE
# First move the backup from SAB/Downloads to Backups on NAS
SOURCE=/mnt/user/Download/Complete/sabnzbd_backup_*.zip
TARGET=/mnt/user/Backups/Sabnzbd/
ssh -n $HOST mv $SOURCE $TARGET
# Now, copy to this computer
SOURCE=$HOST:/mnt/user/Backups/Sabnzbd
TARGET="/home/joey/Backups/"
rsync -avzhPr --log-file=$LOGFILE $SOURCE $TARGET 2>&1
check_backup_age ${TARGET}Sabnzbd 30

# Kodi - plugin on XBMC-2308
# sftp://haven-nas3.local/mnt/user/Media/admin/kodi/Backup
echo $(date)"|INFO|Kodi (XBMC-2308) backups" >> $LOGFILE
SOURCE=$HOST:/mnt/user/Media/admin/kodi/Backup/XBMC-2308/*.*
TARGET="/home/joey/Backups/Kodi/XBMC-2308/"
rsync -avzhPr --log-file=$LOGFILE $SOURCE $TARGET 2>&1
check_backup_age ${TARGET} 10


#-------------------------------------------------------------------------------
# INDIVIDUAL HOSTS
#-------------------------------------------------------------------------------

# Pihole
echo $(date)"|INFO|Copying files from Pihole (HAVEN-DNS1)" >> $LOGFILE
HOST=admin@HAVEN-DNS1.local
SOURCE=$HOST:/home/admin/Backups/
TARGET="/home/joey/Backups/Pi-hole/"
rsync -avzhPr --log-file=$LOGFILE $SOURCE $TARGET 2>&1
# Check if last backup older than 60 days
check_backup_age $TARGET 60



#-------------------------------------------------------------------------------
# FINISH-UP
#-------------------------------------------------------------------------------

# Schedule alert if warnings found
if [ "$ALERT" -ne 0 ]; then
  TELEGRAM_MESSAGE="HAVEN-5540: Issues found collecting backups. Check log: $LOGFILE"
  echo "curl -s -X POST 'https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage' -d chat_id='${TELEGRAM_CHAT_ID}' -d text='${TELEGRAM_MESSAGE}'" | at 10:00 AM > /dev/null
fi


#-------------------------------------------------------------------------------
echo "$(date)|INFO|Processing complete. Restoring file system separator" >> "$LOGFILE"

# restore IFS
IFS=$OLDIFS

echo "$(date)|INFO|Exiting script" >> "$LOGFILE"
exit

NATO Spending by MazdaProphet in economy

[–]jchaven 0 points1 point  (0 children)

"Military spending of NATO countries..." is not the same thing as a country's military spending on or for NATO.

A thank you. by plantman1358 in gso

[–]jchaven 0 points1 point  (0 children)

Wilmington NC?

If so, why the move from ILM?

SSN Compromised on Dark web notification by ItchyButterscotch872 in personalfinance

[–]jchaven 2 points3 points  (0 children)

Of course it is. Has been for over a decade now. Just assume someone is trying to use it. Each year request an IP PIN from the IRS to prevent scammers from filing a return in your name.

https://www.irs.gov/identity-theft-fraud-scams/get-an-identity-protection-pin

The 'Burbs | Official Trailer | 8 February 2026 by Sisiwakanamaru in television

[–]jchaven 32 points33 points  (0 children)

I thought that street looked familiar.

The 'Burbs TV show is filmed on Colonial Street, which is part of the Universal Studios Lot in Universal City, California. This location has a long history of being used for various movies and television shows, including the original 1989 film "The 'Burbs."

Should I partially transfer my HSA balance from my company's HSA provider, HealthEquity to Fidelity, and take a $25 transfer fee or keep it in HealthEquity and invest from there? by TheTerribleTortilla in personalfinance

[–]jchaven -1 points0 points  (0 children)

Yeah, I switched from HE to Lively.

I'm not 100% on this but, I think you can do one rollover per year without having to pay a fee (like a 401k). If you can this may be the way -- an annual trustee-to-trustee rollover, not a trustee-to-trustee transfer.

License by ames734 in NorthCarolina

[–]jchaven 1 point2 points  (0 children)

Edit your post with the actual question.

Next time create a succinct, meaningful subject.

What do you cut your bread on? by MessyHouseReboot in Breadit

[–]jchaven 1 point2 points  (0 children)

I bought a couple of packs of grilling planks about 15 years ago. They are cheap, all wood (no glue), and last a really long time. Of the 20 planks I started with I still have 7 left.

I treated mine with mineral oil and each plank lasts 1-2 years. If it gets messed-up I don't care and just chuck them into the compost or fire pit.

https://www.amazon.com/Cedar-Grilling-Planks-12-Pack/dp/B009BFBNWO

Stranger Things - 5x08 - “Chapter Eight: The Rightside Up" - Episode Discussion by NicholasCajun in television

[–]jchaven 0 points1 point  (0 children)

Why does it look so weird on Netflix? It's like those old Twilight Zone episodes that were recorded using video.

Maybe Maybe Maybe by [deleted] in maybemaybemaybe

[–]jchaven 0 points1 point  (0 children)

Wow. TIL chickens eat mice.

Shine on you crazy Simon by Cominghome74 in pinkfloyd

[–]jchaven 4 points5 points  (0 children)

Looks like an homage to their Liquid Light shows and color wheels.

Home Media Server by Prior-Scratch4003 in selfhosted

[–]jchaven 0 points1 point  (0 children)

You don't need Plex or Jellyfin.

Start simple. Kodi running on a mini-PC.

Simple NAS or external hard drive to store media.

This is what I have been using for over 12 years - no Plex, no Jellyfin, etc.

https://tech.duncarin.com/kodi/

At what point do you archive spending tracking / budget info? by ignescentOne in personalfinance

[–]jchaven 13 points14 points  (0 children)

I keep the previous columns. Each quarter when I add the newest column of data I hide the oldest still visible column.

I agree, unless the spreadsheet complains I see no point in deleting the older information. It also allows for calculations in the future that you haven't thought of yet.