sudo apt-get dist-upgrade is very safe to run as it won't do anything to the system, instead stopping to ask for your confirmation ;) You would have to add a
-y switch, which is intended for unattended upgrades and makes apt assume that you always answer 'yes' to questions:
sudo apt-get -y dist-upgrade. The man page states that
If an undesirable situation, such as changing a held package, trying
to install a unauthenticated package or removing an essential package
occurs then apt-get will abort
but running dist-upgrade unattanded is always risky so you may want to avoid that.
You can always check what apt would do by adding a
-s switch, like so:
sudo apt-get -s dist-upgrade. This switches apt into simulation mode, in which no changes are made and you can safely review all the changes apt would make to the system.
There is also a more conservative mode of running apt, namely
apt-get upgrade. The man page for apt-get is very clear on what it does:
Packages currently installed with new versions available are retrieved
and upgraded; under no circumstances are currently installed packages
removed, or packages not already installed retrieved and installed.
New versions of currently installed packages that cannot be upgraded
without changing the install status of another package will be left at
their current version.
In my original answer I somehow assumed you're going to run dist-upgrade via cron, which, after reading more carefully, does not seem to be the case. However I'm leaving the relevant paragraph as a general comment:
It not advisable to run
sudo apt-get -y dist-upgrade via cron, especially if your apt sources happen to point to a testing branch (which generally should not happen on servers, especially in production) as you may end up with an unusable system. You're relatively safe if you're using Debian's stable branch but I'd still recommend to attend upgrades.
Anyway, if you're doing a dist-upgrade that is going to perform serious changes you should always have a backup. Just in case.