For Debian you can use AutoFsck but the package is no longer supported (last update 2010). So keep that in mind.
The other way would be to put a FSCK/bash script in your shutdown script. For SE linux/centos etc I would use chkconfig level 0 (halt) and 6(reboot). chkconfig --levels 0 rc.local-shutdown on
Put the script in /etc/rc.d/init.d/
. (level 6 for reboot)
For Debian I would put the create the scripts in /etc/rc6.K00scriptname and /etc/rc0.d/K00scriptname,
As for the script, you can use something like this:
#!/bin/bash
NETFS="nonfs,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,nousbfs,noshfs,nofuse,nofuseblk"
if (( `tune2fs -l /dev/sda2 | awk '/Mount count/{print $3}'` > `tune2fs -l /dev/sda2 | awk '/Maximum mount count/{print $4-1}' ))
then /sbin/fsck -A -T -C -a -t $NETFS 2>/dev/null
fi
This code was not written by me, but by someone on archlinux forums. I have not tried the code. So keep that in mind too.
Or you can just do something simple like /sbin/fsck -A -T -C -a -- -f
inside the script.