Re: kabcclient export script don't work with cron

"Andreas Zeller" <[email protected]>
Newsgroups gmane.comp.kde.users.pim
Message-ID <[email protected]>
Am 16.11.2011, 15:35 Uhr, schrieb Kevin Krammer <[email protected]>:

> On Wednesday, 2011-11-16, Andreas Zeller wrote:
>> Am 16.11.2011, 13:50 Uhr, schrieb Kevin Krammer <[email protected]>:
>> > On Wednesday, 2011-11-16, Andreas Zeller wrote:
>> >> I don't know, whether it's a PIM-problem. If not, please tell me.
>> >>
>> >> I make scheduled backups with cron, that works fine.
>> >>
>> >> # /etc/crontab: system-wide crontab
>> >> # Unlike any other crontab you don't have to run the `crontab'
>> >> # command to install the new version when you edit this file
>> >> # and files in /etc/cron.d. These files also have username fields,
>> >> # that none of the other crontabs do.
>> >> SHELL=/bin/sh
>> >> PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
>> >> # m h dom mon dow user	command
>> >> 17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
>> >> 25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts
>> >> --report
>> >> /etc/cron.daily )
>> >> 47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts
>> >> --report
>> >> /etc/cron.weekly )
>> >> 52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts
>> >> --report
>> >> /etc/cron.monthly )
>> >> 0	10-20	*	*	*	root	/home/USER/Scripte/SicherungAufNAS
>> >> 30	10-20	*	*	*	root	
> /home/USER/Scripte/KAddressbook_Export_vCard
>> >
>> > Doesn't that mean that the script will run as user root?
>> >
>> >> Now I want to export KAddressbook contacts within a script.
>> >>
>> >> #!/bin/sh
>> >> # KAddressbook_Export_vCard
>> >> kabcclient -L > /home/USER/contacts_hourly_backkup.vcf
>> >> #
>> >>
>> >> As a script started manually in the console, it works fine. But if  
>> cron
>> >> starts the script, only an empty file is created.
>> >
>> > Assuming the "root" in the user fields means the script is executed as
>> > root,
>> > does root have a KDE addressbook?
>>
>> I also tried cron with
>>
>> 30	10-20	*	*	*	USER	
> /home/USER/Scripte/KAddressbook_Export_vCard
>>
>> and as script
>>
>> env USER=USER HOME=/home/USER kabcclient -L >
>> /home/USER/contacts_hourly_backkup.vcf
>>
>> both doesn't work. Every time an empty file is created.
>
> In this case I expect the problem to be different environment from when  
> you run
> it manually.
>
> Run your normal desktop session as a different user and try the script  
> manually
> in a shell where you su - into, i.e. so that the current user's  
> environment
> gets discarded.
>
> It might also help to redirect stderr of the application into a file for
> checking if it reported any errors, i.e.
>  2> /home/USER/contacts_hourly_backup.err

redirecting stderr - I love it to learn something new!

If I start the script

    kabcclient -L > /home/USER/contacts_hourly_backkup.vcf 2>  
/home/USER/contacts_hourly_backup.err

manually, witch exports the contacts correctly, contacts_hourly_backup.err  
contains

    kabcclient(3768)/kio (KDirWatch) KDirWatchPrivate::removeEntry: doesn't  
know "/home/USER/.kde/share/apps/kabc"

If cron starts the same script, it creates an empty  
contacts_hourly_backkup.vcf  and also an empty contacts_hourly_backup.err

So there is no error, why?


-- 
Erstellt mit Operas revolutionärem E-Mail-Modul: http://www.opera.com/mail/

_______________________________________________
KDE PIM users mailing list
Subscription management: https://mail.kde.org/mailman/listinfo/kdepim-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.